408 Star 1.8K Fork 756

GVPfasiondog / hikyuu

 / 详情

PF_Simple 以及 SE_Fixed的使用

待办的
创建于  
2022-02-01 03:15

请问SE_Fixed里面的StockList类型在哪啊。我搜索了一遍docs也没找到这个类在哪,我直接用python的list不行。然后初始化了一个空的my_se = SE_Fixed(),打算用add_stock_list(self, stk_list, sys) 或者 add_stock(self, stock, sys)来添加股票。在添加my_se到PF_Simple的时候报错了。怎么改都不对。请问这个应该怎么处理啊?谢谢。

my_se = SE_Fixed()
my_pf = PF_Simple(tm=my_tm, sys=my_sys, se=my_se)

ArgumentError: Python argument types in
hikyuu.cpp.core.PF_Simple()
did not match C++ signature:
PF_Simple(class std::shared_ptr tm=None, class std::shared_ptr se=Selector(SE_Fixed, params[]), class std::shared_ptr af=AllocateFunds(AllocateMoneyBase, params[adjust_running_sys(bool): 0, max_sys_num(int): 100000, weight_unit(double): 0.0001, ]))

评论 (6)

cyoki 创建了任务

1.my_se.add_stock_list([sm['sh000001'], sm['sz000001']], my_sys)
两个参数,前面是 stock list,后面是交易系统原型
2.PF没有sys参数,我更改了帮助,如下:
输入图片说明

资金分配算法确定在选择的交易对象中如何分配资产占比,默认是平均分配资产,有参数控制只使用剩余资金还是全部资产比例,默认只使用剩余资金

交易选择Selector本质是选择交易系统(每个交易系统绑定一个交易对象),交易系统发出买卖信号,PF根据AF进行资产的重分配,这样既可以是不同股票同一类交易系统,也可以是同一股票使用不同的交易系统,或者不同的股票使用不同的交易系统。se.add_stock_list 是同一股票使用同一种系统原型。

感谢!确实文档里面很多内容都过时了,我大概看了一下C++代码,里面有buyShort, sellShort之类的都没有实现。不过我觉得可以借鉴一下backtrader的思想,他们就是简单的size>0 做多, size<0 做空,由用户来自行判断,资金的管理依然按照正常佣金模式来收。最终的收益可能是负数,或者击穿成本,但是问题不大。期货里面确实会这样。。

我后面考虑下

登录 后才可以发表评论

状态
负责人
里程碑
Pull Requests
关联的 Pull Requests 被合并后可能会关闭此 issue
分支
开始日期   -   截止日期
-
置顶选项
优先级
参与者(2)
3859 fasiondog 1578914213 50705 cyoki 1578915678
C++
1
https://gitee.com/fasiondog/hikyuu.git
git@gitee.com:fasiondog/hikyuu.git
fasiondog
hikyuu
hikyuu

搜索帮助