我之前说过,写策略需要在C:\ProgramData\VNConda\Lib\site-packages\vnpy\app\cta_strategy\strategies这个文件夹下面建立,不然根本无法加载。然后今天打算测试回测的时候,因为记得之前看教程说需要在一个文件中输入ricqquant的账号与密码,所以我一个劲地在C:\ProgramData\VNConda\Lib\site-packages\vnpy\这个文件夹下面找文件,找了一通没有找到。后来竟然在F:\vnpy\vnpy-2.0.2\tests\backtesting\这里面找到了,要修改的其实就是getdata.py文件!
VN.PY 2.0学习记录二(策略开发)使用vnpy的UI界面进行回测,这个简单,就不说了。
新建一个q2.py文件用于回测,比如我的就放在C:\Users\Administrator\下面。
4.取股票数据
pip install jupyter(二)试用ricequant
Vn.py学习记录七(V2.0.5版本)Vn.py学习记录五–交易时间段及Widgets
MultiTimeframeStrategy 18.27%
VNPY学习记录13(部署到云服务器,实现自动交易) 写回测代码: AtrRsiStrategy 16.88% 默认取一天的数据,如果要取一分钟的数据则用:导入的数据在哪儿呢?
2.获取数据
import rqdatac as rq import pandas as pd from rqdatac import * rq.init() FIELDS = ["open", "high", "low", "close", "volume"] data = rq.get_price( "IF88", frequency="1m", fields=FIELDS, start_date='20190101', end_date='20190630' ) df = pd.DataFrame(data) df.to_csv('cf88new.csv')(三)载入CSV文件
用两个月数据大致测试了一下各个策略的年化收益率:
另外,第二次导入数据之后,会在第一次的数据后面添加数据。
只要填写了正确的RQdata账号与密码,那么就可以取到数据了:
新建quant.py文件,代码如下:
BollChannelStrategy 21.75%
一、通过getdata.py获取回测数据
TurtleSignalStrategy 134.98
蜗牛博客VNPY学习记录:
from vnpy.app.cta_strategy.backtesting import BacktestingEngine
from vnpy.app.cta_strategy.strategies.boll_channel_strategy import BollChannelStrategy
from datetime import datetime
engine = BacktestingEngine()
engine.set_parameters(
vt_symbol = "000001.SZSE",
interval ="d",
start = datetime(2018,3,23),
end = datetime(2018,4,23),
rate = 0,
slippage = 0,
size = 300,
pricetick = 0.2,
capital = 1_000_000,
)
engine.add_strategy(BollChannelStrategy,{})
engine.load_data()
engine.run_backtesting()
df = engine.calculate_result()
engine.calculate_statistics()
engine.show_chart()
执行q2.py成果展示:
VN.PY 2.0学习记录一(如何回测)
1.填写下载账号
https://www.ricequant.com/doc/rqdata-institutional#research-API-get_price
执行getdata.py文件,然后“咚"的一声,又掉坑里了。出现如下的错误提示:
5.获取1分钟数据
三、策略回测
打开getdata.py文件,填写账号与密码。
后来通过测试发现是数据量的问题,我用来测试的数据量太少了,后来将测试的1分钟数据期间改为2个月,终于好了。
2.导入数据:
MultiSignalStrategy -279%
(一)安装jupyter
2.这个getdata文件随便放哪儿都可以。
本文网络收集整理,不构成任何投资建议。转载请注明出处:[黄金期货交易]VN.PY 2.0学习记录一(如何回测)