以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://222.73.7.161/bbs/index.asp)
--  金字塔软件问题提交  (http://222.73.7.161/bbs/list.asp?boardid=2)
----  如图优化参数里的表头能加入总风收比这一项吗?  (http://222.73.7.161/bbs/dispbbs.asp?boardid=2&id=183545)

--  作者:Tiffany1
--  发布时间:2020/12/20 16:21:31
--  如图优化参数里的表头能加入总风收比这一项吗?
       总风收比就是,比如一共3笔交易,一次亏3%,一次亏4%,一次赚10%。
       亏3%就等于把资金除以约1.0309,亏4%就等于把资金除以约1.0417,赚10%就等于 把资金乘以1.1。
      然后1.0309*1.0417=1.0739,这就是亏损合计。然后求盈利合计和亏损合计的log对数函数,以亏损合计为底。
      就得到总盈利倍数是总亏损倍数的几倍,这就是总风收比。

       或者比如胜率为50.01%,平均每把盈利为10%——也就等于把资金乘以1.1,平均每把亏损为3%——也就等于把资金除以1.0309。
       然后求pow(),1.1^(50.01%)=A,1.0309^(1-50.01%)=B,然后再求这两个数A和B的log(),以B为底。就是总风收比

       以上两种计算方法算出来是同一个结果


[此贴子已经被作者于2020/12/20 16:23:04编辑过]

--  作者:Tiffany1
--  发布时间:2020/12/20 16:26:00
--  
表头就是优化参数后,出现有MAR比率的那个列表的那一横排表头。我发了截图 不知为何发不出来,你们知道我说的是哪里吧?
[此贴子已经被作者于2020/12/20 16:27:38编辑过]

--  作者:banzhuan
--  发布时间:2020/12/21 9:24:56
--  
1、先在策略中定义总风收比的变量;
2、优化中选择显示列中选自定义项,添加上述的变量试试

图片点击可在新窗口打开查看此主题相关图片如下:temp.png
图片点击可在新窗口打开查看

--  作者:Tiffany1
--  发布时间:2020/12/21 13:50:44
--  回复:(banzhuan)1、先在策略中定义总风收比的变量;...
汗 在策略中定义总风收比这个变量,我不会啊。。。如何定义?需要胜率,平均每把盈利百分比,平均每把亏损百分比,这三个函数软件有吗?
--  作者:FireScript
--  发布时间:2020/12/21 14:34:54
--  
稍微有点麻烦。需要你自己会改代码才行。

参考下面范例:

VARIABLE:yl:=1,ks:=1;//用全局变量实现有效累乘。

input:n(9,1,100,10),p1(3,2,40,4),p2(3,2,40,4);//参数设置
RSV:=(CLOSE-LLV(LOW,N))/(HHV(HIGH,N)-LLV(LOW,N))*100;
K:SMA(RSV,P1,1);
D:SMA(K,P2,1);
J:3*K-2*D,NODRAW;

手数:=1;
//交易条件
kdjjc:cross(k,d),NODRAW;//kdj金叉
kdjsc:cross(d,k),NODRAW;

if kdjjc and holding<0 then
begin
平空:SELLSHORT(kdjjc,HOLDING,MARKET);
if NUMPROFIT(1)<0 then ks:=ks*(1/(1-abs(NUMPROFITPER(1)/100)));
if NUMPROFIT(1)>0 then yl:=yl*((1+abs(NUMPROFITPER(1)/100)));
end

开多:BUY(kdjjc and holding=0,手数,MARKET);

if kdjsc and holding>0 then
begin
平多:SELL(kdjsc,HOLDING,MARKET);
if NUMPROFIT(1)<0 then ks:=ks*(1/(1-abs(NUMPROFITPER(1)/100)));
if NUMPROFIT(1)>0 then yl:=yl*((1+abs(NUMPROFITPER(1)/100)));
end

开空:BUYSHORT(kdjsc and holding=0,手数,MARKET);

showyl:yl;//盈利
showks:ks;//亏损

result:LOG(showyl)/LOG(ks);//最终结果

你需要在每个平仓地方,判断下盈亏 然后计算。部分平仓是不行的。必须是完全平仓。否则无法获取盈亏的数值。

--  作者:Tiffany1
--  发布时间:2020/12/21 15:32:02
--  回复:(FireScript)稍微有点麻烦。需要你自己会改代...
      多谢。不过 额 是有点复杂 我算了,还是你们专业人士来行了。不过这个总风收比指标很重要啊,它是综合胜率和盈亏比得到的最终的指标。
      单看胜率高,我可以盈亏比很低,最后还是很微弱的正期望系统。单看盈亏比高,我又可以胜率很低,最后还是很微弱的正期望系统。只有综合两个才能看出来正期望系统的正期望数值到底多大。
      如果有空,希望以后把这个总风收比指标加入软件吧。谢谢。