VeighNa量化社区
你的开源社区量化交易平台
cfstudy's Avatar
Member
离线
10 帖子
声望: 0

vnpy_porfoliostrategy\backtesting中load_data改为多进程需要修改哪些参数?有没有参考例子?谢谢。

谢谢回答。没有对lock赋值
self.buy(vt_symbol, bar.close_price, target_pos)
self.sell(vt_symbol, bar.close_price, pos)

5分钟的k线回测:
5月18日有一笔买入,5月19日平了。5月23 莫名多了一笔空头仓位。
bar.datetime:2022-05-23 10:50:00+08:00,pos:0.0
bar.datetime:2022-05-23 10:55:00+08:00,pos:0.0
bar.datetime:2022-05-23 11:00:00+08:00,pos:0.0
bar.datetime:2022-05-23 11:05:00+08:00,pos:-335.0
error.check.pos negative.pos:-335.0,datetime:2022-05-23 11:05:00+08:00
bar.datetime:2022-05-23 11:10:00+08:00,pos:-335.0
error.check.pos negative.pos:-335.0,datetime:2022-05-23 11:10:00+08:00
bar.datetime:2022-05-23 11:15:00+08:00,pos:-335.0
error.check.pos negative.pos:-335.0,datetime:2022-05-23 11:15:00+08:00
bar.datetime:2022-05-23 11:20:00+08:00,pos:-335.0

请问股票组合策略,回测时priceticks和slippages设置多少比较合理?

bardata存在开盘价和收盘价,调用buy方法时不希望以最优价成交,而是以最差价成交。是否有对应的方法?谢谢。
(例如开盘8.9,收盘价9.0,buy的时候希望以9.0成交)

self.buy(vt_symbol,target_price,target_pos)

明白了。谢谢!

谢谢两位大佬回答。
在on_bars里调用buy后,马上调用get_pos,返回持仓量为0
我的日线策略目的是以当天收盘价成交,但是打印的成交明细显示成交时间不是当天
请教buy成交的条件是什么?怎样可以立即成交?

代码如下:
class MyPortfolioStrategy(StrategyTemplate)

on_bars:
self.buy(vt_symbol,bar.close_price,target_pos)
print(f'buy :{self.get_pos(vt_symbol)}')

on_bars:
调用
for vt_symbol in self.vt_symbols:
current_pos = self.get_pos(vt_symbol)
print(f'vt_symbol:{vt_symbol},current_pos:{current_pos}')

        # 可能存在无数据情况
        if vt_symbol in bars:
            bar = bars[vt_symbol]
            if current_pos > 0:
                **self.sell(vt_symbol, bar.close_price, current_pos)**
                print(f'{bar.datetime},{vt_symbol},price:{bar.close_price},hands:{current_pos},sell')
            elif current_pos == 0:
                target_pos = self.targets[vt_symbol]
                self.buy(vt_symbol,bar.close_price,target_pos)
                self.targets[vt_symbol] = 0
    self.put_event()

第一次on_bars调用sell卖出,第二次/第三次on_bars的pos还是没变。

vt_symbol:000001.SZSE,current_pos:0
vt_symbol:000002.SZSE,current_pos:248.0
2020-07-23 00:00:00+08:00,000002.SZSE,price:3.94,hands:248.0,sell
on_bars..........................
vt_symbol:000001.SZSE,current_pos:0
vt_symbol:000002.SZSE,current_pos:248.0
2020-07-24 00:00:00+08:00,000002.SZSE,price:3.81,hands:248.0,sell
on_bars..........................
vt_symbol:000001.SZSE,current_pos:0
vt_symbol:000002.SZSE,current_pos:248.0
2020-07-27 00:00:00+08:00,000002.SZSE,price:3.82,hands:248.0,sell

已连接到 pydev 调试器(内部版本号 222.3345.131)Traceback (most recent call last):
File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
File "<frozen importlib._bootstrap>", line 1006, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 688, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 883, in exec_module
File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
File "D:\gitee\vnpy\vnpy\trader\engine.py", line 43, in <module>
from .setting import SETTINGS
File "D:\gitee\vnpy\vnpy\trader\setting.py", line 9, in <module>
from .utility import load_json
File "D:\gitee\vnpy\vnpy\trader\utility.py", line 14, in <module>
import numpy as np
File "D:\gitee\vnpy\venv\lib\site-packages\numpy__init.py", line 191, in <module>
core.numerictypes.typeDict,
File "D:\gitee\vnpy\venv\lib\site-packages\numpy\core\
init.py", line 161, in getattr
raise AttributeError(f"Module {
name__!r} has no attribute {name!r}")
AttributeError: Module 'numpy.core' has no attribute 'numerictypes'
python-BaseException

进程已结束,退出代码1

numpy版本是1.23.1 ,网上有说装1.19.1可以解决。回退好像有更多依赖包的问题。感谢解答。

问了下rqdata客服,rqdata A股行情数据面向机构用户,一年费用五位数起。
看了jqdata和tushare,jqdata能满足要求,但网上有说数据质量不是很好。
vnpy培训课说rqdata是目前数据质量较好的。

本人小白入门,只关注A股行情数据。
只要能获取分钟级bar data就行(暂不要求tick数据)。
请教大神,有哪些性价比好的渠道获取A股行情数据,费用控制在四位数。
谢谢。

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

沪公网安备 31011502017034号

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