量化分析师的 Python 日记 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
datayes2015
V2EX    Python

量化分析师的 Python 日记

  •  
  •   datayes2015 2016-08-30 21:15:15 +08:00 5763 次点击
    这是一个创建于 3379 天前的主题,其中的信息可能已经有所发展或是发生改变。
    Alpha 对冲模型,分以下四个部分展开:

    Alpha 对冲模型简介

    优矿“三剑客”简介

    如何在优矿上做 Alpha 冲对模型 (多信号合成)

    关于大赛

    1 、 Alpha 对冲模型简介

    A 、假设市场完全有效,那么根据 CAPM 模型有, Rs=Rf+βs(RmRf)。式中, Rs 表示股票收益, Rf 表示无风险收益率, Rm 表示市场收益,βs 表示股票相比于市场的波动程度,用以衡量股票的系统性风险。

    B 、遗憾的是,市场并非完全有效,个股仍存在 alpha (超额收益)。 根据 Jensen's alpha 的定义:αs=Rs[Rf+βs(RmRf)],除掉被市场解释的部分,超越市场基准的收益即为个股 alpha 。

    C 、实际中,股票的收益是受多方面因素影响的,比如经典的 Fama French 三因素就告诉我们,市值大小、估值水平、以及市场因子就能解释股票收益,而且低市值、低估值能够获取超额收益。那么,我们就可以通过寻找能够获取 alpha 的驱动因子来构建组合。

    D 、假设我们已经知道了哪些因子能够获取超额收益,那么我们根据这些因子构建股票组合(比如持有低市值、低估值的股票)。那么组合的收益理论上是能够获取超额收益的,简单来讲就是,组合的累计收益图应该是在基准(比如沪深 300 )累计收益图之上的,而且两者的差应该是扩大的趋势。

    E 、由于组合的涨跌我们是不知道的,我们能够确保的是组合与基准的收益差在不断扩大,那么持有组合,做空基准,对冲获取稳定的差额收益( alpha 收益),这就是传说中的市场中性策略

    2 、优矿“三剑客”

    针对上述研究流程,优矿提供全程服务,从金融大数据,模型的研究开发到实盘交易和组合管理:

    DataAPI :提供近 300 个高质量的因子数据(基本面因子,技术面因子和大数据因子),为模型提供充足的原材料和让用户自己研究因子提供了基础

    RDP :提供标准的因子到信号的处理函数(去极值、中性化、标准化)同时,还提供了功能强大的组合构建函数

    Quartz :提供标准的、更贴近实际的回测框架,一键查看对冲模型历史表现

    3 、实例:优矿上的对冲模型

    回测框架&基础工作简介:

    回测区间从 2011 年 8 月 1 日~2015 年 8 月 1 日,基准为沪深 300 ,策略每月第一个交易日开盘之后建仓

    因子选取:净利润增长率( NetProfitGrowRate )、权益收益率( ROE )、相对强弱指标( RSI )

    因子到信号的处理:用到了去极值( winsorize )、中性化( neutralize )、标准化( standardize )处理

    组合构建:用到了 RDP 里的 simple_long_only()

    PS :关于函数的详细使用说明,可以新建 cell 输入 函数名+? ,运行得到 API 使用文档。比如,运行下面的代码便可以得到 simple_long_only 的使用说明。





    接下来,绘制组合和基准的累计收益图之差,得到 alpha 收益,看看效果如何。

    高清源代码请移步: https://uqer.io/community/share/55e662f9f9f06c1ea481f9cf

    可以看到,在如上三个因子驱动下的 alpha 收益相对来说还是比较稳定的,由于有对冲,策略是市场中性的,不论市场涨跌对我们的收益是不受影响的(当然排除一些极端情况,比如所有股票收益没有任何差异性,例如流动性危机)。

    4 、关于大赛

    大赛的一些规则设计:

    单子股票持股不超过 10%: alpha 收益并不是全仓某一只股票,然后涨停;可以看到,由于有股指期货的对冲,那么组合的持仓也应该像股指期货一样各行业配置很均匀,组合构建函数 simple_long_only()充分考虑了行业配置、各因子 alpha 贡献等因素

    股票仓位在任意三个以上收盘日低于 80%则不达标:因为 alpha 收益已经非常稳健,那么增加本金的投入只会带来更多的收益,何乐而不为呢?

    相对 HS300 ,强制平仓线 90%:近似于强平线为 0.9 ,当所选因子不能持续带来 alpha 收益时,有必要对因子要仔细考虑了。

    不能投资流动性过差以及刚上市的股票: alpha 收益追求的是稳定性,没有必要去承受额外的流动性风险以及其他风险。

    5 、后话

    优矿提供了将近 300 个基础因子(包含价值 /动量 /质量 /成长 /情绪等维度)供用户研究和合成:

    可以在如下帮助页面找到这些因子 https://uqer.io/help/api/search/MktStockFactors?page=1

    在投资研究寻找新的因子就是专业量化研究员日常的工作,在研究过程中希望找到:有故事的因子,符合经济学原理,有投资逻辑
    7 条回复    2016-09-12 14:46:11 +08:00
    zhy0216
        1
    zhy0216  
       2016-08-30 21:24:15 +08:00
    虽然是广告 但还算有东西...
    jeffersonpig
        2
    jeffersonpig  
       2016-08-31 08:41:32 +08:00
    现在的广告是越来越不容易识别了
    larry1594
        3
    larry1594  
       2016-08-31 23:47:57 +08:00
    你们家的 api 名称缩写真是费劲看懂 universe=股票池 bt= perf=?
    GhostEX
        4
    GhostEX  
       2016-09-02 11:31:02 +08:00
    我一般用 ricequant
    forest520
        5
    forest520  
       2016-09-06 17:10:51 +08:00
    挺不错的科普文章
    marcolee
        6
    marcolee  
       2016-09-06 17:28:54 +08:00
    我只问一句,赚钱了吗?
    datayes2015
        7
    datayes2015  
    OP
       2016-09-12 14:46:11 +08:00
    @larry1594 bt=backtest, perf=performance
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5472 人在线   最高记录 6679      Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 24ms UTC 03:34 PVG 11:34 LAX 19:34 JFK 22:34
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86