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

如题。

比如: 一个PorfolioStrategy 策略实例使用的 cpu 资源,是单线程的; 两个实例是两个进程,各是一个单线程的进程。这样理解正确吗? 请指教:)。

跟在 VN_Trader 上订阅行情相似,但我想在 策略里面实现。

比方说, 我想自己合成螺纹指数,要找出目前交易中的所有螺纹合约的 symbol 名称(全部1~12月的)。 我目前用的是PortfolioStrategy模块。

手动输入不实际,太繁琐了,合约还不停更迭。有没有现成的函数可以实现?

新的win10系统。
卸载vn studio后重装 vn studio后,问题依旧。
报错如下:

2023-06-20 15:22:32 --------------------------------------------------
2023-06-20 15:22:32 VeighNa Trader进程启动
2023-06-20 15:22:33 Traceback (most recent call last):
File "C:\veighna_studio\lib\site-packages\vnpy\trader\datafeed.py", line 50, in get_datafeed
module: ModuleType = import_module(module_name)
File "C:\veighna_studio\lib\importlib__init__.py", line 126, in import_module
2023-06-20 15:22:33 return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 1050, in _gcd_import
File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
File "<frozen importlib._bootstrap>", line 1004, in _find_and_loadunlocked
ModuleNotFoundError: No module named 'vnpy
'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "C:\veighna_studio\lib\runpy.py", line 196, in _run_module_as_main
return _run_code(code, main_globals, None,
File "C:\veighna_studio\lib\runpy.py", line 86, in _run_code
exec(code, run_globals)
File "build\bdist.win-amd64\egg\veighna_station\trader.py", line 39, in <module>
File "build\bdist.win-amd64\egg\veighna_station\trader.py", line 30, in run_trader
File "C:\veighna_studio\lib\site-packages\vnpy\trader\engine.py", line 102, in add_app
engine: BaseEngine = self.add_engine(app.engine_class)
File "C:\veighna_studio\lib\site-packages\vnpy\trader\engine.py", line 73, in add_engine
engine: BaseEngine = engine_class(self, self.event_engine)
File "C:\veighna_studio\lib\site-packages\vnpy_ctastrategy\engine.py", line 98, in init
self.datafeed: BaseDatafeed = get_datafeed()
File "C:\veighna_studio\lib\site-packages\vnpy\trader\datafeed.py", line 52, in get_datafeed
2023-06-20 15:22:33 print(f"\u627e\u4e0d\u5230\u6570\u636e\u670d\u52a1\u9a71\u52a8{module_name}\uff0c\u4f7f\u7528\u9ed8\u8ba4\u7684RQData\u6570\u636e\u670d\u52a1")
File "C:\veighna_studio\lib\encodings\cp1252.py", line 19, in encode
return codecs.charmap_encode(input,self.errors,encoding_table)[0]
UnicodeEncodeError: 'charmap' codec can't encode characters in position 0-8: character maps to <undefined>

这个问题可能得请教 VeighNa 的开发者.在我的理解, PyGAD 相比之下更加主流,开发和应用也更简便。

为什么 vn.py 的回测优化要选择使用 DEAP, 而不是 PyGAD? 是不是因为 DEAP 在这个场景里有什么优势,或者是有其他原因?

我在 CTA 的使用文档中看到下单的说明如下:

buy:买入开仓(Direction:LONG,Offset:OPEN)
sell:卖出平仓(Direction:SHORT,Offset:CLOSE)
short:卖出开仓(Direction:SHORT,Offset:OPEN)
cover:买入平仓(Direction:LONG,Offset:CLOSE)
入参:price: float, volume: float, stop: bool = False, lock: bool = False, net: bool = False


我在 ScriptTrader 说明文档中看到的对应内容如下:

buy:买入开仓(Direction:LONG,Offset:OPEN)
sell:卖出平仓(Direction:SHORT,Offset:CLOSE)
short:卖出开仓(Direction:SHORT,Offset:OPEN)
cover:买入平仓(Direction:LONG,Offset:CLOSE)
入参:vt_symbol: str, price: float, volume: float, order_type: OrderType = OrderType.LIMIT


两者的入参不一样。 在ScriptTrader中可以选择 OrderType, 但在CTA中并没有提及 FAK, FOK等委托类型。
请问怎么在 CTA 模块中选择 FOK, FAK委托?

我想把 catstrategy 接收到的 tick 数据 (TickData object)放进一个 dataframe 里。我尝试 pd.Series(TickData), 但不成功。

请问能否教一下该怎么做?
这个 TickData 的 object 有没有 documentation? 要怎么处理它?

附个代码的图:

description

我在使用文档上看到:

“用户可以基于该模板(位于site-packages\vnpy_ctastrategy\template中)自行开发CTA策略。
用户自行开发的策略可以放在用户运行文件夹下的strategies文件夹内。”

我不论在用户文件夹, 还是 VNPY 安装文件夹里 都没有这些文档。 是不是版本更新后换在了什么地方? 或者是重命名了?

====================================================================================================

description

Hi, 我是vn.py 的新用户。

如下图

我刚刚录制了一个下午的行情数据,用的是 CTP SimNow 模拟行情。 我录制了包括 k 线以及 tick 数据。但我打开数据库时,只能显示出分钟k线数据。

请问录制的 tick 数据要怎么找出来?

description

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

沪公网安备 31011502017034号

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