如何控制回撤

剑_雪 2016-11-25 15:55:53

浏览量: 3781

        评价一个策略的优劣,除了看总收益以外,另外一个非常重要的指标就是Max Drawdown,对于基金经理而言,最大回撤的意义远大于总收益。因为牛市的存在,我们可以很轻松的写出收益率非常恐怖的策略。然而同样是因为牛市过后股灾的存在,很多收益很好的策略的Max Drawdown早就突破了清盘线。

        所以,Max Drawdown是一个策略的生命线。下面我看来看看2013年1月1日至今天的一个策略回测结果图。

        这个策略看起来还行吧,3年时间不到20多倍的收益,不过不要鸡动,小伙伴们。最大回撤达到了30%,这个基金在股灾期间被清盘了,亲们。我们需要控制一下回撤,哪怕收益下降也没关系。看下图。

        呵呵,收益率下降到了10倍,回撤控制在了20%以内,怎么实现的呢?下面讲讲我的思路:

        我们要找一个方法来判断大盘的牛熊特征,牛市的时候,追求收益最大。熊市来的时候我们选择空仓。(JD平台只能这样)。初步代码如下:

def select_buy(context, data_dict):
    stocks=get_index_constituents('000002.SH')
    i=0
    for s in stocks:if data_dict[s].close>data_dict[s].get_mavg(30, frequency='day'):i=i+1
    if i>len(stocks)*2/7:print ('牛中')
    else:print('熊市-------清仓')


10条回复 添加回复
剑_雪

不懂的可以一起交流。


2016-11-25 15:57:52
jueying9988

虽然看不懂,不过感觉挺不错的。


2016-11-25 16:35:05
青城山2016

老师,可否教教我。每次买股票都是听砖家吹,牛市到现在我一分没赚,还倒亏60%多了,砖家说要我守着。哎不想说了,说多了都是泪。



2016-11-26 14:53:51
剑_雪

@青城山2016 多来京东金融看看,学习学习就会有进步的。


2016-11-27 18:37:11
wsad_hjk

@剑_雪 问个小问题,为什么超过2/7的股票在30日均线以上代表牛中?


2016-11-27 20:27:58
williamkang

这个和大盘站在30日线上有啥区别呢


2017-02-22 17:57:49
初来乍到574

def select_buy(context, data_dict):

    stocks=get_index_constituents('000002.SH')

    i=0

    for s in stocks:

        if data_dict[s].close>data_dict[s].get_mavg(30, frequency='day'):i=i+1

    if i>len(stocks)*2/7:

        print ('牛中')

    else:

        print('熊市-------清仓')

该插入到策略什么地方?我加入到一个策略中,为何没有变化呢?请教大神,我是个纯小白,很想学习


2017-03-21 17:47:38
pcdog

 stocks=get_index_constituents('000002.SH')

你的选股股票不包含000002.。。。。。



2017-04-12 22:53:29
ma-robot

最好的办法是选股同时加入,股灾发生选不出股票才是真的。。。。省下的就是自动平仓已经购买的股票了。

这个需要一个强大的计算平台。几千只股票去筛选。。。。。压力山大!!!


2017-05-13 23:57:13
ccvertj

13年是牛市周期,最好能够回测多轮看看情况吧。


2017-05-14 20:33:50
1
提交
Copyright © 2004-2017 京东JD.com 版权所有 | 投资有风险,购买需谨慎