vnpy极简版本,无ui启动策略
原创内容第692篇,专注量化投资、个人成长与财富自由。
vnpy官方推荐的python版本是3.10。
从原代码跑vnpy,vpny是插件化架构,最小化的依赖:
tzlocal pandas qdarkstyle PySide6 importlib-metadata
依赖包不多,就是tzlocal和pandas还有importlib-metadata。
另外两个是qt的包:pyside6和皮肤qdarkstyle。
from vnpy.event import EventEngine
from vnpy.trader.engine import MainEngine
from vnpy.trader.ui import MainWindow, create_qapp
#from vnpy_ctp import CtpGateway
# from vnpy_ctastrategy import CtaStrategyApp
# from vnpy_ctabacktester import CtaBacktesterApp
# from vnpy_datamanager import DataManagerApp
def main():
"""Start VeighNa Trader"""
qapp = create_qapp()
event_engine = EventEngine()
main_engine = MainEngine(event_engine)
#main_engine.add_gateway(CtpGateway)
# main_engine.add_app(CtaStrategyApp)
# main_engine.add_app(CtaBacktesterApp)
# main_engine.add_app(DataManagerApp)
main_window = MainWindow(main_engine, event_engine)
main_window.showMaximized()
qapp.exec()
if __name__ == "__main__":
main()
启动后界面如下:

分别再下载需要的插件代码:

回测包依赖plotly,deap(用于参数优化)。
数据库包依赖peewee。
在策略开发阶段,其实我们不太需要ui。
下面这段代码,就是直接引用策略,加载数据,回测,然后画图,使用就与我们封装后的backtrader类似了。
只不过vnpy的数据不支持从csv直接引用户,要先导入的数据库中,默认使用sqlite。
from datetime import datetime
from vnpy.trader.optimize import OptimizationSetting
from vnpy_ctastrategy.backtesting import BacktestingEngine
from vnpy_ctastrategy.strategies.atr_rsi_strategy import AtrRsiStrategy
from vnpy_ctastrategy.strategies.dual_thrust_strategy import DualThrustStrategy
from vnpy_ctastrategy.strategies.turtle_signal_strategy import TurtleSignalStrategy
engine = BacktestingEngine()
engine.set_parameters(
vt_symbol="TA.CFFEX",
interval="1m",
start=datetime(2022, 1, 1),
end=datetime(2023, 4, 30),
rate=0.3/10000,
slippage=0.2,
size=300,
pricetick=0.2,
capital=1_000_000,
)
engine.add_strategy(TurtleSignalStrategy, {})
engine.load_data()
engine.run_backtesting()
df = engine.calculate_result()
engine.calculate_statistics()
engine.show_chart()
运行结果:

代码同步给大家:

吾日三省吾身
上周的期货小组会议,与几位同学交流,与去年的观感类似。
很多人觉得“以交易为生”是神话,这其实是误区。
网上流传的那种什么“8000块起步,快速1个亿”这种肯定是神话故事,但50万本金赚50万的算不算“以交易为生”。一定的杠杆比例,年化100%的样子。
这样的版本我听过不少,有可信度。
有时候就是坚持做一些事情。
无论你做或不做,认真或不认真,开心还是生气,日子就这么一天天过去。
该来的总会来,该过去就终将过去。
宇宙不可避免的熵增,一切都将没有终级意义。
在有限的时间里,尽量做些有价值的事情。
回看五年前,有些问题解决了,有些问题反复着,往前看五年,也许都不是事,也许还会有新的事,人生总是这样。
想做就去做,别让自己后悔。

AI量化实验室 星球,已经运行三年多,1200+会员。quantlab代码交付至6.X版本,含几十个策略源代码,因子表达式引擎、遗传算法(Deap)因子挖掘引擎等,每周五迭代一次。
点“阅读原文”,查看策略集(或复制网址:www.ailabx.com/mall)下载。
更多推荐




所有评论(0)