欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件策略编写求助区 → 仓位计算

   

欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。    


  共有4647人关注过本帖树形打印复制链接

主题:仓位计算

帅哥哟,离线,有人找我吗?
tonybig
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 量化投资
等级:论坛游民 帖子:148 积分:653 威望:0 精华:0 注册:2010/9/27 16:08:27
仓位计算  发帖心情 Post By:2011/11/3 22:12:07 [只看该作者]

小弟求一个组合仓位资金管理计算方式,

 

固定资产为50万, 按照40%仓位平均划分给不同品种(例如:1手铜需要5万,那么对应的必须开两手胶,5手pta),

 

当总资产盈利达到足够再次平均加仓的时候的仓位计算公式(总体仓位仍然保持40%);

 

下面我想了个思路,但不知道可行否,希望老师能够指点修正一,或者还有什么其它好的算法。

 

 

总资产*40% /  (A品种价格*合约手数*保证金+b品种价格*合约手数*保证金)=平均开仓手数(取整数);

 

当上面平均开仓手数大于1小于二的时候,再使用下列具体公式计算不同品种的开仓数,小于3大于2,再进行下一次的仓位计算

总资产*40% / 品种数量 / A品种价格*合约手数*保证金 =实际品种开仓数量();


 回到顶部
帅哥哟,离线,有人找我吗?
tonybig
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 量化投资
等级:论坛游民 帖子:148 积分:653 威望:0 精华:0 注册:2010/9/27 16:08:27
  发帖心情 Post By:2011/11/4 8:52:44 [只看该作者]

我自己编了出来,但是那位大哥能把它做个循环,  当资金足够分配=1时,开始进行lots计算,  当资金足够分配=2,再进行lots分配, 以此循环到资金等于10,lots也跟着计算10次;

 

资金足够分配:intpart(asset*0.4/(dynainfo2(7,'cu00')*multiplier*0.18+dynainfo2(7,'ru00')*multiplier*0.18+dynainfo2(7,'ta00')*multiplier*0.18));

 

lots:intpart(asset*0.4/3/dynainfo2(7,'ru00')*multiplier*0.18);

 

问题2:另外我想加入对目前加载的品种做出判断,红字部分显示为当前合约价格?

 intpart(asset*0.4/3/dynainfo2(7,'ru00')*multiplier*0.18);


 回到顶部
帅哥哟,离线,有人找我吗?
fly
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:5082 积分:17642 威望:0 精华:6 注册:2010/7/15 9:05:58
  发帖心情 Post By:2011/11/4 10:32:22 [只看该作者]

资金足够分配:intpart(asset*0.4/(dynainfo2(7,'cu00')*multiplier*0.18+dynainfo2(7,'ru00')*multiplier*0.18+dynainfo2(7,'ta00')*multiplier*0.18));

 

lots:intpart(asset*0.4/3/dynainfo2(7,'ru00')*multiplier*0.18);

 

在资金同等的情况下,这两个值没啥可比性----不同合约的最新价是不一样的,除个3求平均,没啥意思.

 

 

楼主这等于是按照资金情况,决定是否加仓,及加仓多少.

先判断当前有多少持仓,图表上,HOLDING就直接是持仓,再

判断你的资金的40%够开多少手,

如果大于持仓,就加仓1手好了.

 

弄个循环,不是增加运算量吗?



金字塔—专业程序化交易量化投资平台

客户服务部

-----------------------------------------------------------

欢迎您参加我公司的技术培训,具体培训需求请发邮件到

service@weistock.com

您的宝贵建议或者投诉,请发往邮箱:weiwei@weistock.com

 回到顶部
帅哥哟,离线,有人找我吗?
tonybig
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 量化投资
等级:论坛游民 帖子:148 积分:653 威望:0 精华:0 注册:2010/9/27 16:08:27
  发帖心情 Post By:2011/11/4 13:26:06 [只看该作者]

谢谢fly大哥回答,我的意思是当账户资金盈利足够平均再开一手的情况下才加仓, 但我写不出这么复杂的意思, 还请 fly大哥把你说的这个做成 代码 吧 , 我用来参考学习一下 谢谢

[此贴子已经被作者于2011-11-4 13:30:20编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
fly
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:5082 积分:17642 威望:0 精华:6 注册:2010/7/15 9:05:58
  发帖心情 Post By:2011/11/4 15:31:20 [只看该作者]

//图表程序化.

 

num:=intpart(tasset*0.4/(dynainfo2(7,'cu00')*multiplier*0.18+dynainfo2(7,'ru00')*multiplier*0.18+dynainfo2(7,'ta00')*multiplier*0.18));

//判断是否加仓

if holding>0 and num>holding then buy(1,1,mkt);

if holding<0 and num>ABS(holding) then buyshort(1,1,mkt);



金字塔—专业程序化交易量化投资平台

客户服务部

-----------------------------------------------------------

欢迎您参加我公司的技术培训,具体培训需求请发邮件到

service@weistock.com

您的宝贵建议或者投诉,请发往邮箱:weiwei@weistock.com

 回到顶部