目录
数据存储:
1 合约日数据、主力合约数据使用csv文件存储
2 其他小量数据使用sqlite3
界面GUI:PyQt5
图形:pyqtgraph
注意:期货日数据来自优矿
注意:优矿中郑商所的合约名与郑商所一致是“品种代码+年度最后一个数字+交割月份”,所以存在合约名重复的情况(例如:AP401可以是2014年1月交割的合约,也可以是2024年1月交割的合约)。针对这种情况,在确认合约唯一性时,增加一个 deliYear 合约交割年份辅助判断。
数据库名:youkuang_db
数据表:
数据表 | 字段 |
t_product 期货品种表 | code text 品种代码 name text 品种名称 exchange_name text 交易所 |
t_main_symbol 品种对应的主力合约 | product_code text 品种代码 ticker text 合约名 deliYear int 合约交割年份 start_date text 合约成为主力的日期yyyy-MM-dd |
t_online_symbol 当前在线合约 (更新日数据时从该表中获取当前合约已经更新到的最新日期,本次从这个日期往后更新) | product_code text 品种代码 ticker text 合约名 deliYear int 合约交割年份 newest_date text 在线合约更新到的最新日期yyyy-MM-dd |
t_symbol_basemsg 合约信息 | ticker text 合约名 listDate text 合约上市日期 product_code text 品种代码 minChgPriceNum float 最小变动价格(数值) minChgPriceUnit text 最小变动价格(单位) limitUpNum float 涨停幅度(数值) limitUpUnit text 涨停幅度(单位) limitDownNum float 跌停幅度(数值) limitDownUnit text 跌停幅度(单位) contMultNum float 合约乘数(数值) contMultUnit text 合约乘数(单位) tradeMarginRatio float 保证金比例 deliYear int 交割年份 deliMonth int 交割月份 lastTradeDate text 最后交易日yyyy-MM-dd firstDeliDate text 开始交割日yyyy-MM-dd lastDeliDate text 最后交割日yyyy-MM-dd tradeCommiNum float 手续费(数值) tradeCommiUnit text 手续费(单位) |
t_last30_daily 在线合约最近30日的日数据 (计算主力合约使用与文化财经一样的规则,需要品种所有在线合约最近日数据做判断,改变记录最近日数据,可以避免频繁到csv文件中获取) | product_code text 品种代码 ticker text 合约名 deliYear int 交割年份 tradeDate text 交易日yyyy-MM-dd openPrice float 开盘价 highestPrice float 最高价 lowestPrice float 最低价 closePrice float 收盘价 settlePrice float 结算价 turnoverVol int 成交量 turnoverValue int 成交额 openInt int 持仓量 |
?文化财经主力合约换月规则:
合约日数据存储在? ./d/ 文件夹下,文件名为“合约名_交割年份.csv”
主力合约日数据存储在 ./main/文件夹下,文件名为“品种代码.csv”
将wh6中的指标搬运到项目中,外加其他指标。在项目中实现这些指标主要是为了批量分析和研究?