【Alpha系列】之alpha#1

查看之前文章请点击右上角 , 关注 并且 查看历史消息 所有文章全部分类和整理,让您更方便查找阅读


请在页面菜单里查找

Alpha是投资者获得与市场波动无关的回报,一般用来度量投资者的投资技艺


比如投资者获得了12%的回报,其基准获得了10%的回报,那么Alpha或者价值增值的部分就是2%. 小编将推出一系列Alpha 策略,希望能起到抛砖引玉的作用


如有不足之处,欢迎批评指正~~ 策略设计 在这里就不对alpha作介绍了,想了解alpha的读者可以去看看前两天Thomas大大推的《多因子系列之二》~ 那我们就直接从策略开始吧


作为alpha系列的第一篇,我们先来实现一个简单的Alpha策略


首先我们选取前一根K线的开盘价(open)、收盘价(close)、最高价(high)、最低价(low)进行分析


阳线(close>open)实体越大说明买方强大,上涨越可靠,越小甚至是十字星表明多空争夺激烈,最终打平,收于开盘价附近,最终走势与原先趋势一致的可能性大


阴线(close


所以我们可以定义alpha为: alpha = ((close – open) / ((high – low) + 0.001)) 为了保证分母不等于0,在后面加上0.001.当alpha>0时,买入股票;当alpha<0时,卖出股票


策略测试 测试平台: 优矿(uqer.io) 回测时间: 2014-1-1~2015-12-31 测试品种: A股所有股票 代码(python): start = ‘2014-01-01’                       # 回测起始时间 end = ‘2015-12-31’                         # 回测结束时间 benchmark = ‘HS300’                       # 策略参考标准 universe = set_universe(‘A’)  # A股 capital_base = 100000                      # 起始资金 freq = ‘d’                   # ‘d’表示使用日线回测 refresh_rate = 1                           # 调仓频率 # 初始化虚拟账户状态 def initialize(account): pass # 每个交易日的买入卖出指令 def handle_data(account): preopen =  account.get_attribute_history(‘openPrice’,1) preclose =  account.get_attribute_history(‘closePrice’,1) prehigh =  account.get_attribute_history(‘highPrice’,1) prelow =  account.get_attribute_history(‘lowPrice’,1) for s in account.universe: alpha = ((preclose[s][0]-preopen[s][0])/(prehigh[s][0]-prelow[s][0]+0.001)) if s not in account.valid_secpos: if alpha > 0: order_pct(s,0.05)#买入 else: order_to(s,0)#卖出 return 回测结果 年化收益率:63.6% 基准年化收益率:30.1% 阿尔法:39.2% 夏普比率:1.74 最大回撤:50.4% 可以看到,简单的策略收益也高于基准的年化收益


但是,该alpha策略也存在很多问题,最大回撤较高,尤其是2015年下半年,该策略表现得比较差


总的来说,虽然策略简单,但其表现也出乎小编意料,后续也可以对其进行优化


最后再唠叨两句,这次的alpha的策略比较简单,各位大牛如果有什么改进意见的话可以留言或者发邮件到395460642@qq.com联系小编,欢迎批评指正


同时也希望和大家多多交流,共同进步~~以后会陆续推出一些alpha策略,感谢大家的持续关注! 后台 回复下 列关键字,更多惊喜在等着 你 【区分大小写】 1.回复 每周论文 获取Market Making论文分享 2. 回复 matlab量化投资 获取大量源码 3. 回复 每周书籍 获取国外书籍电子版 4. 回复 文本挖掘 获取关于文本挖掘的资料 5. 回复 金融数学 获取金融数学藏书 6. 回复 贝叶斯Matlab 获取NBM详解与具体应用 7.回复 AdaBoost 获取AdaBoost算法文献、代码、研报



发表回复