VeighNa量化社区
你的开源社区量化交易平台
mushrooman's Avatar
Member
离线
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, 多谢.

在R的代码如下
Sys.setenv(RETICULATE_PYTHON="C:\vnstudio\python.exe");
library("reticulate");
vnpy=reticulate::import("vnpy",as=NULL,convert=TRUE,delay_load=FALSE);
init_cli_trading=vnpy$app$script_trader$init_cli_trading;
CtpGateway=vnpy$gateway$ctp$CtpGateway;
engine=init_cli_trading(list(CtpGateway));
setting=list(
"用户名"='xxxx',
"密码"='xxxx',
"经纪商代码"='9999',
"交易服务器"='tcp://180.168.146.187:10101',
"行情服务器"='tcp://180.168.146.187:10111',
"产品名称"='simnow_client_test',
"授权编码"='0000000000000000',
"产品信息"=''
)
engine$connect_gateway(setting,"CTP");

报错为:
Error in py_call_impl(callable,dots$args,dots$keywords): UnicodeDecodeError: 'utf-8' codec can't decode byte 0xd3 in position 0: invalid continuation byte

在R中把encoding改为 UTF-8没有帮助

请高手指惑,谢谢。

© 2015-2022 微信 18391752892
备案服务号:沪ICP备18006526号

沪公网安备 31011502017034号

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