数据库的配置
下载数据
方式1:程序下载
方式2:直接导入
对于写好的策略,使用历史数据回测何其重要。记录下怎么导入回测用的数据
数据库的配置
至于MongoDB
的安装,这里不多介绍,网上资料比较多。
- 创建表
1 | db.createUser({ user: "vnpy", pwd: "123456", roles: [{ role: "readWrite", db: "vnpy" }] }) |
- 修改配置文件
Mac系统的配置文件路径
~/.vntrader/vt_setting.json
, 和window系统不一样,注意一下。(账号,密码自己指定)
1 | { |
下载数据
方式1:程序下载
当然也可以通过图像界面的方式下载
1 | # 初始化事件引擎 |
方式2:直接导入
我把自己下载的数据,总数8022246条数据已经导出,通过mongorestore
直接导入到MongoDB
,省时省力。
数据如下,还是比较全的,小写的是现货,大写的是合约
Symbol | Interval | time区间 | 数据量 |
---|---|---|---|
btcusdt | 1m | 2017-08-17 ~2021-07-13 | 2044721 |
btcusdt | 1h | 2017-08-17 ~ 2021-07-15 | 34154 |
btcusdt | d | 2017-08-17 ~ 2021-07-15 | 1429 |
ethusdt | 1m | 2017-08-17 ~ 2021-07-15 | 2047718 |
ethusdt | 1h | 2017-08-17 ~ 2021-07-15 | 34154 |
bnbusdt | 1m | 2017-11-06~2021-07-15 | 1931504 |
bnbusdt | 1h | 2017-11-06~2021-07-15 | 32218 |
bnbusdt | d | 2017-11-06~2021-07-15 | 1348 |
ltcusdt | 1h | 2017-12-13~2021-07-15 | 31330 |
ltcusdt | d | 2017-12-13~2021-07-15 | 1311 |
ETHUSDT | 1m | 2019-11-27 ~ 2021-07-15 | 857942 |
ETHUSDT | 1h | 2019-11-27 ~ 2021-07-15 | 14300 |
ETHUSDT | d | 2019-11-27 ~ 2021-07-15 | 597 |
BTCUSDT | d | 2019-09-08 ~ 2021-07-15 | 677 |
BTCUSDT | 1h | 2019-09-09 ~ 2021-07-15 | 16212 |
BTCUSDT | 1m | 2019-09-09 ~ 2021-07-15 | 972631 |
这里特别注意:如果自己原有的库
db_bar_data
,db_bar_overview
中有重要数据,下面导入的方式就要注意,用的是--drop
模式,有删库的风险
1 | mongorestore -h 127.0.0.1 --port 27017 -uvnpy -p 123456 -d vnpy --drop ./vnpy |
-h
地址-u
数据库账号名(没有可省略)-p
数据库账号密码(没有可省略)-d
数据库名--drop
: 在导入之前删除每个集合
1 | 2021-07-15T16:39:06.524+0800 [*#######################.] vnpy.db_bar_data 1.59GB/1.63GB (97.7%)* |
系统已经有了,数据也有了,后面的文章主要介绍一些经典的量化策略。
图像界面方式回测
启动run_window.py
文件,即可启动图像界面回测。启动成功后,整个界面如下所示。
1 | python run_window.py |
图像界面回测结果如下