【MultiCharts(MC)程序化(量化)网上培训学习系列】第354节:资金管理系列之六:将资金管理策略做成公式并在信号策略中调用量化策略程式码、进行展示效果及测试
- UID
- 2
- 积分
- 2737084
- 威望
- 1318538 布
- 龙e币
- 1418546 刀
- 注册时间
- 2009-12-3
- 最后登录
- 2024-5-20
|
【MultiCharts(MC)程序化(量化)网上培训学习系列】第354节:资金管理系列之六:将资金管理策略做成公式并在信号策略中调用量化策略程式码、进行展示效果及测试
论坛官方微信、群(期货热点、量化探讨、开户与绑定实盘)
|
|
|
|
|
|
- UID
- 2
- 积分
- 2737084
- 威望
- 1318538 布
- 龙e币
- 1418546 刀
- 注册时间
- 2009-12-3
- 最后登录
- 2024-5-20
|
2#
发表于 2024-5-10 05:49
| 只看该作者
范例策略程式码: 本帖隐藏的内容需要回复才可以浏览
资金管理公式程式码:
本帖隐藏的内容需要回复才可以浏览
策略研究专题:本帖隐藏的内容需要回复才可以浏览 |
|
|
|
|
|
|
- UID
- 2
- 积分
- 2737084
- 威望
- 1318538 布
- 龙e币
- 1418546 刀
- 注册时间
- 2009-12-3
- 最后登录
- 2024-5-20
|
3#
发表于 2024-5-10 06:28
| 只看该作者
|
|
|
|
|
|
- UID
- 2
- 积分
- 2737084
- 威望
- 1318538 布
- 龙e币
- 1418546 刀
- 注册时间
- 2009-12-3
- 最后登录
- 2024-5-20
|
4#
发表于 2024-5-10 06:29
| 只看该作者
简评:
1、一个资金管理的范例。
2、以一个10万的户,做螺纹为例,每次交易手数在现有默认的策略中有1000多手,这是不合适的。我在白天优化一下原策略中的参数。 |
|
|
|
|
|
|
- UID
- 2
- 积分
- 2737084
- 威望
- 1318538 布
- 龙e币
- 1418546 刀
- 注册时间
- 2009-12-3
- 最后登录
- 2024-5-20
|
5#
发表于 2024-5-10 09:54
| 只看该作者
对资金管理公式进行优化:- if riskmodel = 1 and Close > 0 then riskshares = maxlist(minimumshares,100*intportion(equity/(100*Close)));
复制代码 这一段的问题就是当equity与价格close*100相近时,取整可能只能取到0.
例子,初始资金10万,螺纹现在最新价格是3700元,那么100000 /(3700*100) = 100000/370000 = 0.27 ,取整就是0。这在资金管理上面是不行的。
改成这样就可以了:- if riskmodel = 1 and Close > 0 then riskshares = maxlist(minimumshares,intportion(equity/Close*BigPointValue ));
复制代码 equity/(Close*BigPointValue ) 这一块的意义就是价格*合约系数与初始本金的对比,产生交易数手。- if riskmodel = 3 and Volatility(length) > 0 then riskshares = maxlist(minimumshares,intportion(erp/volatility(length)));
复制代码 还有model = 3 时的也优化一下成这样的:
function:AcmeGetShares
本帖隐藏的内容需要回复才可以浏览 |
|
|
|
|
|
|
- UID
- 2
- 积分
- 2737084
- 威望
- 1318538 布
- 龙e币
- 1418546 刀
- 注册时间
- 2009-12-3
- 最后登录
- 2024-5-20
|
6#
发表于 2024-5-10 09:57
| 只看该作者
上面的效果如下:
|
|
|
|
|
|
|