V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
raquant
V2EX  ›  问与答

[风格轮动初体验] 国家持股 VS 小盘股

  •  
  •   raquant · 2017-04-12 11:57:35 +08:00 · 1267 次点击
    这是一个创建于 2773 天前的主题,其中的信息可能已经有所发展或是发生改变。

    [风格轮动初体验] 国家持股 VS 小盘股

    • 何为风格轮动

    市场上的投资者是有偏好的, 有时候会偏好价值股, 有时候偏好成长股, 有时候偏好大盘股, 有时候偏好小盘股。由于投资者的这种不同的交易行为,形成了市场风格, 因此在投资中,利用市场风格的变化,进行轮动投资会比一直持有的效果好很多。

    • 选择国家持股和小盘股轮动

    小编是个很粗犷的人,所以经常被老板骂不精细,这次也是选了个很粗犷的策略:

    1 )当上证指数 20 日均线在 30 日均线上方时,买入流通盘绝对数值最小的股票前五名

    2 )反之,则买入国家持股绝对数值比较大的前五名 我说的绝对数值,是相对于比值计算来说的啊,因为这里用比值也不太好,各种因素太多,做人,有时候简单点更犀利。

    代码如下,加空白行不到 30 行,里面我定的是每月 10 号调仓,你懂得, 10 号前老板给我发工资。

    def init(context):
        context.bench_mark="sha-600498"
        schedule_function(change_stocks,DateRule.month(10),TimeRule.once_per_day() )
        ma20=SMAFactor(20,"close")
        reg_factor("ma20",ma20)
        ma30=SMAFactor(30,"close")
        reg_factor("ma30",ma30)
    
    def change_stocks(context,data):
        for pos in context.portfolio.positions.keys():
            order_target(pos,0)  
        out20=factor_output("ma20","shz-000001")["ma20"]
        out30=factor_output("ma30","shz-000001")["ma30"]
        if out20>out30:
            chase_little(context,data)
        else:
            for pos in context.portfolio.positions.keys():
                order_target(pos,0)  
            follow_country(context,data)
            
    def chase_little(context,data):
        df = get_fundamentals("share_limit_sale").sort(['share_limit_sale'],ascending=False).head(5)
        for stock in df.get("share_limit_sale").keys():
            order_percent(stock,18)
                    
    def follow_country(context,data):
        df = get_fundamentals("share_limit_sale_country").sort(['share_limit_sale_country'],ascending=False).head(5)
        for stock in df.get("share_limit_sale_country").keys():
            order_percent(stock,18)
    

    我们看看回测结果,还是蛮犀利的,胜过大盘很多很多。

    • 更多优化

    我相信看到这里你也会有更多想法:

    1 )更多轮动思路,不一定纠结与国家持股

    2 )更多精细的控制,包括加入止损止盈等等

    3 )更复杂的仓位控制

    如果你真的是程序员,进入镭矿 raquant量化平台亲自试试吧。

    目前尚无回复
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   4049 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 05:25 · PVG 13:25 · LAX 21:25 · JFK 00:25
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.