python代码实现了一个金融数据处理和分析的功能,主要围绕国债期货及相关指数数据展开

devtools/2025/1/8 7:32:57/
python"># 忽略某些模块的提示信息
import warnings
warnings.filterwarnings("ignore")
# 在全局配置中添加RQData账号信息
import rqdatac as rq from typing import List
import pandas as pd
import numpy as np
import re
from datetime import datetime, timedelta,time
from dateutil.relativedelta import relativedelta
from vnsw.alpha_research.data_center import DataCenter
from vnpy.trader.constant import Exchange, Interval
from vnpy.trader.setting import SETTINGS
rq.init(username=SETTINGS["datafeed.username"],password=SETTINGS["datafeed.password"])def to_clickhouse(dc,table_name,df):SAVE_REFERENCE_QUERY = "INSERT INTO {table} VALUES"query = SAVE_REFERENCE_QUERY.format(table=table_name)# 生成更新时间列update = datetime.now()df["update"] =update# 生成要传参用的DataFrame# 写入数据库并返回条数try:dc.client.insert_dataframe(query, df)print('已存储',set(df['symbol']),min(df['interval']),min(df['datetime']),'至',max(df['datetime']))except Exception as e:print ("报错",e)def load_rq_data(symbols:List[str],exchange:Exchange,start_date:datetime,end_date:datetime,frequency:str)->pd.DataFrame:#米筐的total_turnover是成交额,open_interest是持仓量if frequency=='1d' or frequency=='1m':df=rq.get_price(symbols, start_date, end_date,frequency,expect_df=True).reset_index()else:df=pd.DataFrame()start_date=start_date.replace(hour=0, minute=0, second=0,microsecond=0)while start_date<end_date:# print(start_date)df2=rq.get_price(symbols, start_date, start_date,frequency,expect_df=True) #米筐不看时分秒,会把所有涵盖日期的所有的x分钟bar返回if df2 is None:start_date+=relativedelta(days=1)continueelif len(df2):# print(df2)df=pd.concat([df,df2.reset_index()])start_date+=relativedelta(days=1)if max(df['datetime']).time()<time(15, 15):df.drop(df[df['datetime']==max(df['datetime'])].index,inplace=True)  df.rename(columns={'order_book_id':'symbol','date':'datetime','close':'close_price','open':'open_price','high':'high_price','low':'low_price','volume':'volume','open_interest':'open_interest',

http://www.ppmy.cn/devtools/148836.html

相关文章

论文精读:Root Cause Analysis in Microservice Using Neural Granger Causal Discovery

Root Cause Analysis in Microservice Using Neural Granger Causal Discovery 摘要 微服务架构因其可扩展性、维护性和灵活性在IT运营中得到广泛应用,但系统故障时SREs难以确定根本原因。以往研究使用结构化学习方法建立因果关系图,但忽略了时间序列数据的时间顺序,无法利…

DCU异构程序——GEMM

目录 一、概述 二、程序实现 三、编译运行 一、概述 HIP属于显式编程模型&#xff0c;需要在程序中明确写出并行控制语句&#xff0c;包括数据传输、核函数启动等。核函数是运行在DCU上的函数&#xff0c;在CPU端运行的部分称为主机端&#xff08;主要是执行管理和启动&…

机器学习期末复习知识点

Apriori算法 基本思想&#xff1a; 1 找到所有的频繁项集 2 由频繁项集找到所有的强关联规则 目标&#xff1a; 给定一个事务集T&#xff0c;关联规则挖掘的目标是找到所有规则满足以下要求&#xff1a; 1 support>minsup threshold 2 confidence>minconf thresho…

OSPF - 1类LSA(Router-LSA)

点击返回LSA对照表 1类LSA是OSPF计算最原始的材料&#xff0c;他会泛洪发给所有的路由器 LSA是包含在LSU中的&#xff0c;一条LSU能够携带多条LSA options位所有LSA都会有&#xff0c;用于标记起源于什么类型的区域&#xff0c;具体查看文章【邻居建立】 flags位是一类LSA特…

Lua协同程序(线程)

1、 Lua 的协同程序&#xff08;coroutine&#xff09;简单介绍 Lua 的协同程序&#xff08;coroutine&#xff09;是一种轻量级的线程&#xff0c;允许你在多个任务之间进行协作式多任务处理。与操作系统线程不同&#xff0c;协同程序是由程序员显式控制的&#xff0c;不会自动…

电脑硬盘系统迁移及问题处理

一、系统迁移准备 1、确认你的电脑主板是否支持安装两块硬盘,如电脑主板有多个M2硬盘接口,我们将新硬盘安装到主板上,原来的老硬盘安装在第二个接口上,主板只有一个M2接口的话可以使用移动硬盘盒。 2、新硬盘安装好后,我们进入原来的系统,在 此电脑–右键–管理–磁盘管…

仅此,无标题

细细想来&#xff0c;14届的大学&#xff0c;18届的研究生&#xff0c;2020年12月份毕业。大学离家不算远&#xff0c;在郑州&#xff0c;火车2、3个小时&#xff0c;那时候感觉还挺远的。研究生本来打算去南方&#xff0c;最后还是去了北方&#xff0c;那个很多人外出挣钱的地…

模块化通讯管理机在物联网系统中的应用

安科瑞刘鸿鹏 摘要 随着能源结构转型和智能化电网的推进&#xff0c;电力物联网逐渐成为智能电网的重要组成部分。本文以安科瑞ANet系列智能通信管理机为例&#xff0c;探讨其在电力物联网中的应用&#xff0c;包括数据采集、规约转换、边缘计算、远程控制等技术实践&#…