量化交易ptrade开通攻略与实操:如何做好仓位的控制?
发布时间:5小时前阅读:10
有很多小伙伴有了良好的交易策略,却没有好的仓位控制的方法,今天就来教一下大家,ptrade中仓位如何控制?
文章比较长,先点个关注哦!
如下有一个均线策略,买入卖出规则如下:
当前价高于5日均价或20日则全仓买入;当前价同时低于5日和20日则全仓卖出。
其中initialize函数是策略初始化的时候由Ptrade的引擎自动调用一次,并且传入了context变量,我们目前还没有用到这个变量;
handle_data函数也是由Ptrade的引擎,在开盘的时间段内,每隔一定频率自动调用一次(比如每分钟调用一次),并传入了两个变量context和data,context可以看成是一个环境变量,我们也用来获取了账号的可用现金,data存放的是当前时间的各个股票行情数据,比如开盘价、收盘价等!
“def handle_data(context, data): ”是函数的申明,注意最后有个英文的冒号,函数申明换行后就是这个函数的具体代码逻辑,注意前面有几个空格,这个空格数量是统一的,比如2个空格,那么其余在同一个层级的代码前面应该都是2个空格,看起来要是对齐的;
同样,对于条件判断"if"、"elif"这样的语句后面跟着条件,条件最后也有一个英文的冒号,换行后同样是条件满足后需要执行的逻辑,同一个层级的逻辑前面的空格数量也需要一致,看起来也要是对齐的。
前面带上"g."申明的变量,是全局的变量,在策略的所有函数中都可以用,如果没有带上"g." 那么只有在申明所在的函数中使用。当然只有在当前函数中变量申明之后才能使用,总不能还没有变量就直接用吧。
增加仓位控制的需求
作为一个“资深韭菜”,怎么看全仓买入和全仓卖出都有点“虎”了,我们可以根据经验完善如下:
在尾盘14:50分的时候进行交易;
当前价高于5日均价并且高于20日均线则全仓买入;
当前价高于5日均价或者高于20日均线则半仓买入或者卖出半仓;
当前价同时低于5日和20日则清仓。
自然语言实现买入卖出规则
拿到过去5日的收盘价的数据(由于尾盘交易,所以需要算上当前价格作为今天收盘价);
求过去5日的平均收盘价(由于尾盘交易,所以需要算上当前价格作为今天收盘价);
拿到过去20日的收盘价数据(由于尾盘交易,所以需要算上当前价格作为今天收盘价);
求过去20日的平均收盘价(由于尾盘交易,所以需要算上当前价格作为今天收盘价);
拿到当前价格
当前价高于5日均价和20日均价则全仓买入;
当前价高于5日均价或者20日均价则半仓买入或卖出;
同时低于5日和20日则清仓。
代码实操
前面说了一大堆,现在我们来展示一下代码如何实现:


关键点解析
context.current_dt:使用context变量得到当前的时间,这里从context中拿到current_dt属性获取到当前时间,直接记住就行;
current_dt.hour和current_dt.minute分别拿到当前时间的"小时"和"分钟",因为context.current_dt这个时间内容已经赋值给了current_dt变量,所以可以这样拿"小时"和"分钟";
get_history这个接口默认不包含当天的数据,所以需要先拿前4天,后面再结合当天价格一起算平均;
(df1['close'].sum() + curr_price) / 5 这里的sum表示"求和"的意思,先求出前4天的和,再加上当前价格,一起除以5就是5天(包含当天)的平均收盘价了。
order_target_value这个接口是Ptrade提供的,调整股票持仓市值到指定的价值;context.portfolio.portfolio_value表示获取当前账户的总价值,包括变成股票市值的和可以现金的总和;
最后那个"else" 一般是放在条件判断的最后,表示其它情况,注意后面有个英文冒号,这个语句后面就不能跟条件了,因为已经是排除上面的所有条件之后的其它情况了,就是不满足上面两个"if"和"elif"之后的其它情况。
回测结果演示
上图可以看到,即使如此简单的一个策略,在3个月的回测中,效果同样惊人。
策略收益:20.6%、最大回测:7.60%、夏普比率:2.45、年化收益率:103.68%、胜率:50%、盈亏比:456.39%。
总结
关注"叩富问财"公众号,回复"资深吴经理",联系专属客户经理开通量化交易权限!
立即行动:打开微信,搜索"叩富问财",在对话框中输入"资深吴经理",开启你的量化交易之旅!
温馨提示:投资有风险,选择需谨慎。
下一篇资讯:
暂无下一篇
-
被套不敢动、选股全靠蒙?国金证券AI投顾6大功能,专治普通人的投资无力感
2026-03-17 15:15
-
股市震荡期,如何用网格交易工具来赚钱?(附操作指南)
2026-03-17 15:15
-
普通人也能用的量化工具?国金证券QMT开通指南来了~
2026-03-17 15:15


问一问

+微信
分享该文章
