VeighNa量化社区
你的开源社区量化交易平台
Member
avatar
加入于:
帖子: 4
声望: 0

https://github.com/vnpy/vnpy/blob/master/examples/spread_backtesting/backtesting.ipynb

我按照上面的步骤,
rom vnpy_spreadtrading.backtesting import BacktestingEngine
from vnpy_spreadtrading.strategies.statistical_arbitrage_strategy import (StatisticalArbitrageStrategy)
from vnpy_spreadtrading.base import LegData, SpreadData
from datetime import datetime

spread = SpreadData(
name="IF-Spread",
legs=[LegData("IF1911.CFFEX"), LegData("IF1912.CFFEX")],
price_multipliers={"IF1911.CFFEX": 1, "IF1912.CFFEX": -1},
trading_multipliers={"IF1911.CFFEX": 1, "IF1912.CFFEX": -1},
active_symbol="IF1911.CFFEX",
inverse_contracts={"IF1911.CFFEX": False, "IF1912.CFFEX": False},
min_volume=1
)
...

其中 IF1911.CFFEX和IF1912.CFFEX提前用data_manager.import_data_from_csv()把本地csv数据导入到.vntrader下面的database.db中,数据为分钟频率的open, high, low, close, volume, open_interest.
但 engine.load_data() 后反馈“历史数据加载完成,数据量:0”。

请问如何合成价差数据?或者说怎么做才能用命令回测spread_trading, 多谢.

Member
avatar
加入于:
帖子: 3583
声望: 234

请问你vnpy是安装在默认路径吗?

Member
avatar
加入于:
帖子: 4
声望: 0

/opt/anaconda3/envs/vnpy/lib/python3.7/site-packages
mac操作系统,装在了一个叫vnpy的虚拟环境中,上面的地址可以看到vnpy等包的文件夹。

Member
avatar
加入于:
帖子: 3583
声望: 234

可参考https://www.vnpy.com/forum/topic/6477-qiu-jiu-wu-tu-biao-mo-shi-jia-zai-bu-dao-shu-ju

Member
avatar
加入于:
帖子: 4
声望: 0

谢谢回复
"在vnpy/trader/setting种设置database路径可解决"
上面是一位网友的方案,我试过还是不行,现在.vntrader下面的database.db中有IF888.CFFEX日频率数据,IF1911.CFFEX和IF1912.CFFEX的分钟频率数据,而且我跑CTA策略的回测例子是可以跑通的,数据可以加载,回测结果和图形都有。为啥spread-trading就不行?

Member
avatar
加入于:
帖子: 3583
声望: 234

那可以自己去vnpy_spreadtrading.base下的load_bar_data函数下打印排查看看

© 2015-2022 上海韦纳软件科技有限公司
备案服务号:沪ICP备18006526号

沪公网安备 31011502017034号

【用户协议】
【隐私政策】
【免责条款】