偏爱小市值策略的,进来了解下这个策略
了解Alpha策略和Fama_French 三因子模型的人都知道,市值因子是一个长期有效的超额收益来源,对股票收益率有一定的解释作用,小市值的股票更容易带来超额收益。这也比较好理解,因为小市值类股票往往表现活跃,容易引发炒作风潮。此外,还有IPO管制的原因(大量排队企业选择借壳),也有市场风险偏好提升的原因(市场恶性循环越来越偏爱小市值)。小市值通常选到的是刚起步的公司,具有较强的成长能力,在一定范围领域内有较强实力(否则谁让你上市的),特别是在发展中国家此类因子有强力的alpha。
策略逻辑:市值可以带来超额收益
策略内容:每月买入市值最小的30只股票,持有至下个月月初再调仓。
资金管理:等权重买入
风险控制:无单只股票仓位上限控制、无止盈止损
源代码如下:
# coding=utf-8
from __future__ import print_function, absolute_import, unicode_literals
from gm.api import *
from datetime import timedelta
"""
小市值策略
本策略每个月触发一次,计算当前沪深市场上市值最小的前30只股票,并且等权重方式进行买入。
对于不在前30的有持仓的股票直接平仓。
回测时间为:2018-07-01 08:00:00 到 2019-10-01 16:00:00
"""
def init(context):# schedule 定时任务详见: https://www.myquant.cn/docs/python/python_basic#7bce6621a1abafe8# 每月第一个交易日的09:40 定时执行algo任务schedule(schedule_func=algo, date_rule='1m', time_rule='09:40:00')# 使用多少的资金来进行开仓。context.ratio = 0.8
def algo(context):# 获取当前时间now = context.now# 选取全A股(剔除停牌和st股和上市不足50日的新股和退市股和B股)date1 = (context.now - timedelta(days=100)).strftime("%Y-%m-%d %H:%M:%S")date2 = context.now.strftime("%Y-%m-%d %H:%M:%S")# 通过get_instruments获取所有的上市股票代码 详见:https://www.myquant.cn/docs/python/python_select_api#8ba2064987fb1d1fall_stock = get_instruments(exchanges='SHSE, SZSE', sec_types=[1], fields='symbol, listed_date, delisted_date',df=True)code = all_stock[(all_stock['listed_date'] < date1) & (all_stock['delisted_date'] > date2) &(all_stock['symbol'].str[5] != '9') & (all_stock['symbol'].str[5] != '2')]# 获取所有股票在这个时候的市值, 详见: https://www.myquant.cn/docs/python/python_select_api#8ba2064987fb1d1ffundamental = get_fundamentals_n('trading_derivative_indicator', code['symbol'].to_list(),context.now, fields='TOTMKTCAP', order_by='TOTMKTCAP', count=1, df=True)# 对市值进行排序,并且获取前30个。 最后将这个series 转化成为一个list即为标的池trade_symbols = fundamental.reset_index(drop=True).loc[:29, 'symbol'].to_list()print('本次股票池有股票数目: ', len(trade_symbols))# 计算每个个股应该在持仓中的权重percent = 1.0 / len(trade_symbols) * context.ratio# 获取当前所有仓位 详见 https://www.myquant.cn/docs/python/python_concept#8079e2e4dad05879positions = context.account().positions()# 平不在标的池的仓位for position in positions:symbol = position['symbol']if symbol not in trade_symbols:order_target_percent(symbol=symbol, percent=0, order_type=OrderType_Market,position_side=PositionSide_Long)print('市价单平不在标的池的', symbol)# 将标中已有持仓的和还没有持仓的都调整到计算出来的比例。for symbol in trade_symbols:order_target_percent(symbol=symbol, percent=percent, order_type=OrderType_Market,position_side=PositionSide_Long)print(symbol, '以市价单调整至权重', percent)
if __name__ == '__main__':'''strategy_id策略ID,由系统生成filename文件名,请与本文件名保持一致mode实时模式:MODE_LIVE回测模式:MODE_BACKTESTtoken绑定计算机的ID,可在系统设置-密钥管理中生成backtest_start_time回测开始时间backtest_end_time回测结束时间backtest_adjust股票复权方式不复权:ADJUST_NONE前复权:ADJUST_PREV后复权:ADJUST_POSTbacktest_initial_cash回测初始资金backtest_commission_ratio回测佣金比例backtest_slippage_ratio回测滑点比例'''run(strategy_id='strategy_id',filename='main.py',mode=MODE_BACKTEST,token='token_id',backtest_start_time='2010-07-01 08:00:00',backtest_end_time='2019-10-01 16:00:00',backtest_adjust=ADJUST_PREV,backtest_initial_cash=1000000,backtest_commission_ratio=0.0001,backtest_slippage_ratio=0.0001)
最终回测结果:
当下小市值策略已经成为了基金行业内部公开的“秘密”。谁也不知道未来能否继续获得超额收益,但谁也不能说未来一定会失效。
声明:本文观点仅供交流探讨,不够成任何投资建议,否则后果自负。
偏爱小市值策略的,进来了解下这个策略相关推荐
- 股票量化分析工具QTYX使用攻略——小市值轮动选股策略(更新2.5.9)
搭建自己的量化交易系统 如果要长期在市场中立于不败之地!必须要形成一套自己的交易系统. 如何学会搭建自己的量化交易系统? 边学习边实战,在实战中学习才是最有效地方式.于是我们分享一个即可以用于学习,也 ...
- 策略系列篇(一)—小市值轮动
前言 写于2022年一月,临近春节,祝大家新年快乐!写这篇文章的时候,刚经历了1.25号4000+只股票下跌,虽然入市不久,仓位也仅控制在3层,但是仍然缺乏安全感.于是提笔把入市半年的诸多策略以及成长 ...
- 小市值策略(股票).py
# coding=utf-8 from __future__ import print_function, absolute_import, unicode_literals from gm.api ...
- 量化投资:小市值策略
介绍一个小市值股票投资策略 小市值股票是指市值较小的公司股票,通常具有较高的增长潜力和较高的风险.该投资策略有以下参考: 潜在高收益:小市值股票通常是相对较新的.成长潜力较大的公司股票.由于市场对这些 ...
- 量化交易 聚宽 小市值策略
小市值策略 # 导入函数库 from jqdata import *# 初始化函数,设定基准等等 def initialize(context):# 设定沪深300作为基准set_benchmark( ...
- 奶茶店的线上线下营销策略
奶茶店经营,从管理商来讲奶茶店的经营科分为线上经营与线下经营两种模式.虽说奶茶店开起来容易但是想要从根本上将营销策略做好,须知是一门技巧.加盟奶茶店为什么有的店铺生意慢慢,有的店铺却门庭罗雀,这和奶茶 ...
- 干货全拿走-用Excel制作小市值轮动价值投资选股器
干货全拿走-用Excel制作小市值轮动价值投资选股器 一. 前言 二. 实现思路 三. 核心代码 四. 注意事项 一.前言 大数据时代,数据分析的价值愈发凸显,数据对于金融市场亦如是.现在越来越多的金 ...
- 小市值(股票)——Python量化
小市值策略(股票) (以下部分内容参考<因子投资:方法与实践>一书) 目录 小市值策略(股票) 1. 原理 1.1 因子投资 1.2 规模因子 2. 策略逻辑 3. 策略代码 4. 回测结 ...
- 利用python建立股票量化交易系统(一)——小市值选股票模型
从今天开始正式开启我的博客之旅,博客内容全部是我自己的量化心得,主要还是为自己将来中工作之中遇到相似问题,可以方便的找到答案,如果能帮到有相似问题的其他同学,我也很开心,如果帮不到的话,不喜勿喷,如果 ...
最新文章
- Eclipse生成jar文件
- MySQL案例-多源复制引起的内存泄漏
- 排序算法总结之归并排序
- Android 一个绚丽的loading动效分析与实现!
- win10+anaconda+cuda配置dlib,使用GPU对dlib的深度学习算法进行加速(以人脸检测为例)...
- SQL Server Window Function 窗体函数读书笔记二 - A Detailed Look at Window Functions
- 意想不到!WordPress安全漏洞98%来自插件
- 转:[Asp.net]常见数据导入Excel,Excel数据导入数据库解决方案,总有一款适合你!...
- redis分布式缓存(二)
- Java线程面试题,值得一看!
- thinkphp-查询某一列的值column
- 关于vue 项目页面打包后首次页面加载特别缓慢的原因及解决方案
- 免费提供离线地图部署服务
- 搭建SFTP服务器实现文件上传
- SPEA2算法原理及应用方向
- web网页设计实例作业 ——中国风文化传媒企业官网(6页) 简单个人网页设计作业 静态HTML文化主题网页作业
- Android从一个应用程序启动第三方应用app
- 情人节朋友圈秀恩爱九宫格配图
- 微信名片加好友服务器繁忙,还傻乎乎的微信加好友?这些细节你要注意!
- (java)求最大公约数