期货日数据维护与使用_日数据维护_模块运行演示

写在前面:

本文默认已经创建了项目,如果不知道如何创建一个空项目的,请参看以下两篇博文

PyQt5将项目搬到一个新的虚拟环境中
https://blog.csdn.net/m0_37967652/article/details/122625280
python_PyQt5开发工具结构基础
https://blog.csdn.net/m0_37967652/article/details/131969032

 期货日数据维护与使用_日数据维护_模块运行演示_第1张图片

1 打开工具

期货日数据维护与使用_日数据维护_模块运行演示_第2张图片

2  在优矿网下载最新合约列表

 优矿中使用的代码

df = DataAPI.FutuGet(secID=u"",ticker=u"",exchangeCD=u"XSGE",contractStatus="",contractObject=u"",prodID="",field=u"",pandas="1")
df.to_csv('futures_XSGE.csv',encoding='utf-8')

df = DataAPI.FutuGet(secID=u"",ticker=u"",exchangeCD=u"XDCE",contractStatus="",contractObject=u"",prodID="",field=u"",pandas="1")
df.to_csv('futures_XDCE.csv',encoding='utf-8')

df = DataAPI.FutuGet(secID=u"",ticker=u"",exchangeCD=u"XZCE",contractStatus="",contractObject=u"",prodID="",field=u"",pandas="1")
df.to_csv('futures_XZCE.csv',encoding='utf-8')

df = DataAPI.FutuGet(secID=u"",ticker=u"",exchangeCD=u"CCFX",contractStatus="",contractObject=u"",prodID="",field=u"",pandas="1")
df.to_csv('futures_CCFX.csv',encoding='utf-8')

df = DataAPI.FutuGet(secID=u"",ticker=u"",exchangeCD=u"XSIE",contractStatus="",contractObject=u"",prodID="",field=u"",pandas="1")
df.to_csv('futures_XSIE.csv',encoding='utf-8')

期货日数据维护与使用_日数据维护_模块运行演示_第3张图片

点击“运行”,进入“数据”界面,下载数据

期货日数据维护与使用_日数据维护_模块运行演示_第4张图片

将合约列表下载到本地,将合约列表文件放到一个空目录下

期货日数据维护与使用_日数据维护_模块运行演示_第5张图片

 3 在工具中选择合约文件所在目录并执行

期货日数据维护与使用_日数据维护_模块运行演示_第6张图片

点击“选择合约所在目录”,选择合约列表文件所在目录

期货日数据维护与使用_日数据维护_模块运行演示_第7张图片

点击“执行”,工具中现存合约和最新合约进行核对,筛出【新增的合约列表】和【需要更新日数据的合约列表】

 4 在工具中下载【新增的合约列表】和【需要更新日数据的合约列表】

期货日数据维护与使用_日数据维护_模块运行演示_第8张图片

期货日数据维护与使用_日数据维护_模块运行演示_第9张图片

期货日数据维护与使用_日数据维护_模块运行演示_第10张图片

图中new.json,为【新增合约列表】,新增合约列表下载后为new.json

图中20240102.json, 为【需要更新日数据的合约列表】,文件名为工具中这些合约的最新日期,【需要更新日数据的合约列表】的文件可能是1个,也可能是多个

5 在优矿网下载待更新的日数据 

ticker_list = ["fu2501", "lu2501", "sc2501"]
df = DataAPI.MktFutdGet(secID=u"",ticker=ticker_list,tradeDate=u"",beginDate=u"",endDate=u"",exchangeCD="",field=u"",pandas="1")
df.to_csv('daily_20240106_00.csv',encoding='utf-8')

期货日数据维护与使用_日数据维护_模块运行演示_第11张图片

下载【新增合约列表】日数据,新增合约中,beginDate字段为空

ticker_list = ["AP401", "AP403", "AP404", "AP405", ...]
df = DataAPI.MktFutdGet(secID=u"",ticker=ticker_list,tradeDate=u"",beginDate=u"20240103",endDate=u"",exchangeCD="",field=u"",pandas="1")
df.to_csv('daily_20240106_11.csv',encoding='utf-8')

 下载【需要更新日数据的合约列表】,beginDate字段为【需要更新日数据的合约列表】json文件名对应日期的下一日

期货日数据维护与使用_日数据维护_模块运行演示_第12张图片

下载后将日数据文件放入一个空目录 

期货日数据维护与使用_日数据维护_模块运行演示_第13张图片

6 在工具中选择日数据文件所在目录并执行

 期货日数据维护与使用_日数据维护_模块运行演示_第14张图片

期货日数据维护与使用_日数据维护_模块运行演示_第15张图片 期货日数据维护与使用_日数据维护_模块运行演示_第16张图片

期货日数据维护与使用_日数据维护_模块运行演示_第17张图片 期货日数据维护与使用_日数据维护_模块运行演示_第18张图片

1 新增合约创建新的日数据csv文件

2 更新合约日数据csv文件,将数据追加到最新

3 将数据插入到 t_last30_daily

4 更新 t_online_symbol 数据,增加新增合约,更新合约的最新日期字段

5  计算主力合约并更新到csv文件中,如果有新增品种,创建csv文件

你可能感兴趣的:(期货日线数据维护与使用,python,期货)