基于Tqsdk的code 实现:
将tq的返回改成使用 akshare的返回即可
bars: List[BarData] = []
getfuturesInfo = ak.futures_zh_daily_sina(symbol="MA2309") #需要替换成对应的合约
if getfuturesInfo is not None:
for tp in getfuturesInfo.itertuples():
# 天勤时间为与1970年北京时间相差的秒数,需要加上8小时差
dt: Timestamp = Timestamp(tp.date).to_pydatetime() + timedelta(hours=8)
bar: BarData = BarData(
symbol=req.symbol,
exchange=req.exchange,
interval=req.interval,
datetime=dt.replace(tzinfo=CHINA_TZ),
open_price=tp.open,
high_price=tp.high,
low_price=tp.low,
close_price=tp.close,
volume=tp.volume,
open_interest=tp.volume,
gateway_name="TQ",
)
bars.append(bar)
print(bars)
return bars
修改步骤
python setup.py bdist_wheel
这个命令打包 会在dist中的文件下生成一个whi的文件
然后复制在vnpy的程序中进行安装
pip install whi的文件名称
然后在vnpy的全局配置文件的名称改成tqsdk 这个即可
前提是没有安装tqsdk
因为我是之间在tqsdk中修改的 后续自己弄的时候修改成自己的。
我不是职业写python的我是写java的 有些东西我也不是很清楚有没有更好的写法 如果大佬们有更好的写法可以告诉我学习一下,谢谢了
已下是效果图:
那个成功回测的图好像上传不了