前言

在看其中一个新手教程的时候,发现没有一个总的代码。
然后,就根据自己的理解,整合了一下。

对于,一开始根据研究发现,在这段时间,如果买全市场市值最低的几个,那绝对是要亏本亏到难以理解的。
所以,我这里就选的是,全市值最高的几个。
但是,这样就跟指数的波动相近较大了。(beta偏高)

代码

def initialize(context):g.stocksnum = 5  # 持有最小市值股票数g.period = 10  # 轮动频率run_daily(daily, time='every_bar')  # 周期循环dailyg.days = 1  # 记录策略进行到第几天,初始为1def trade(context, buylist):# 对于每个当下持有的股票进行判断:现在是否已经不在buylist里,如果是则卖出for stock in context.portfolio.positions:if stock not in buylist:  # 如果stock不在buylistorder_target(stock, 0)  # 调整stock的持仓为0,即卖出# 将总资产(现金+股票)除以持股数g.stocksnumposition_per_stk = context.portfolio.total_value / g.stocksnum# 调整buylist中的每个股票持仓价值为position_per_stkfor stock in buylist:order_target_value(stock, position_per_stk)# 止损
def stop(context):# 循环查看持仓的每个股票for stock in context.portfolio.positions:# 如果股票最新价格除以平均成本小于0.8,即亏损超过20%if context.portfolio.positions[stock].price / context.portfolio.positions[stock].avg_cost < 0.8:# 调整stock的持仓为0,即卖出order_target(stock, 0)# 输出日志:股票名 止损print "\n%s 止损" % stockdef pick(context):date = context.current_dt.strftime("%Y-%m-%d")# 获取上证指数和深证综指的成分股代码并连接,即为全A股市场所有股票scu = get_index_stocks('000001.XSHG') + get_index_stocks('399106.XSHE')# 选出在scu内的股票的股票代码,并按照当前时间市值从小到大排序df = get_fundamentals(query(valuation.code, valuation.market_cap).filter(valuation.code.in_(scu)).order_by(valuation.market_cap.desc()), date=date)# 取出前g.stocksnum名的股票代码,并转成list类型,buylist为选中的股票buylist = list(df['code'][:g.stocksnum])return buylistdef daily(context):# 每日止损stop(context)# 判断策略进行天数是否能被轮动频率整除余1if g.days % g.period == 1:buylist = pick(context)trade(context, buylist)else:pass  # 什么也不做g.days = g.days + 1  # 策略经过天数增加1

效果图

【量化投资】策略二(聚宽)相关推荐

  1. 教你量化投资001——使用聚宽实现基于价值投资的选股

    使用聚宽有一段时间了,目前已经略有小成.所以分享一些使用心得,帮助大家入门. 目前价值投资的理念越来越深入人心,那么如果基于安全边际与低估来选择理想的好价格股票呢. 永续年金估值模型为我们提供了一个选 ...

  2. 【量化系列】使用聚宽实现净利润跳空策略

    ​​​​​​​ 目录 1 什么是净利润跳空策略? 2聚宽量化环境简介 3本策略实现的逻辑 代码 一些说明 回测结果 ​编辑 1 什么是净利润跳空策略? 净利润跳空是指上市公司发布超预期的业绩公告后,股 ...

  3. 缠论 python 量化_【JoinQuant聚宽社区干货】量化学习资料、经典交易策略、Python入门...

    ======================= 量化投资学习资料 ======================= 量化投资经典学习资料下载:http://www.joinquant.com/post/ ...

  4. python量化投资数据类型_python量化投资(二):如何得到数据

    在python量化投资(一)中我们写到,我们计算的前提是有数据,但是如何得到数据?上次也说了几种途径,今天主要讲解怎样提取数据,有一个前提条件 安装了python,笔者还安装了pychramIDE 一 ...

  5. python聚宽量化_Python量化交易之四_聚宽数据

    介绍 之前测试过一些免费API,比如tushare现在只能下载两年半数据,163有的股票数据无法下载,pandas_reader速度很慢,并且只能下载A股的各股数据,对基金和指数支持不佳.这两天尝试了 ...

  6. 聚宽 get_price 多个股票数据_Python量化交易之四_聚宽数据

    介绍 之前测试过一些免费API,比如tushare现在只能下载两年半数据,163有的股票数据无法下载,pandas_reader速度很慢,并且只能下载A股的各股数据,对基金和指数支持不佳.这两天尝试了 ...

  7. 国内主要量化投资平台

    这里记录一下国内主要的量化投资平台 JoinQuant聚宽量化交易平台 https://www.joinquant.com/ BigQuant - 人工智能量化投资平台 https://bigquan ...

  8. python量化交易策略实例_python量化交易策略入门(一):MACD的威力

    最近刚开始学习量化交易,在聚宽网上看了几篇教程,对操作流程有了大致的了解,接下来打算好好研究一下交易策略. 据大奖章基金的Simons透露,他那个每年收益率20%以上的系统,一点都不费解(compli ...

  9. 股票价格趋势预测与量化投资案例可视化演示系统(附代码)

    摘要 随着全球经济与股市的快速发展,股票投资成为了民众们常用的理财方式之一.近年来,量化投资凭借其优良的纪律性.准确性.时效性和系统性等优势受到越来越多的关注.与西方成熟市场相比,我国量化投资还处于起 ...

  10. 动量效应 matlab,量化投资之动量反转

    那一年,你在我的有效市场里随机游走,不经意间毁灭了我的理性人假设.从此,维持与你相爱的动量效应,成为我人生唯一的投资策略. --送给她 一. 行为金融学 1. 行为金融学的发展 20世纪80年代,股票 ...

最新文章

  1. 正则表达式,以前总结的,大不分来择自网上
  2. VC++ 使用预编译头
  3. K-Means聚类算法Java实现
  4. 微服务一定要使用Spring-Cloud吗?
  5. 牛客题霸 [螺旋矩阵] C++题解/答案
  6. xrdp完美实现Windows远程访问Ubuntu 16.04
  7. 数字图像处理--微分算子为什么也是空间滤波器
  8. oracle将日期格式化to_char及字符串转日期to_date
  9. 山东单招计算机什么学校好考,2021山东单招最好的公办学校有哪些 山东单招好考的公办学校一览...
  10. pxe kickstart无人值守自动化装机
  11. 微笑哥,工作快乐感与快乐企业文化
  12. impala 基础知识及使用
  13. Understanding parameters:理解参数(Parameter)
  14. 2022年现场综合化维护工程师四级认证考试题目
  15. org.apache.hadoop.hive.ql.exec.mr.MapredLocalTask
  16. 微信HOOK 删除好友
  17. 屋面房顶白色外壁降温用凉凉胶隔热面漆 隔热性能十分优异
  18. 7-1 重要的话说三遍 (5 分)
  19. 微信小程序 - 页面插入广告(激励式广告)超详细教程
  20. 联想中国区Q3业绩超预期增长,智能化深耕已取得可观成果

热门文章

  1. 【math】Hiden Markov Model 隐马尔可夫模型了解
  2. 20款免费项目管理系统推荐
  3. 48个英语音标练习-海伦英语视频
  4. 用bootstrap创建表格
  5. 机器学习(周志华) 第一章 引言
  6. Unity 代码动态改变Sprite的实验
  7. 计算机二级多少人优秀,计算机二级各科通过率是多少
  8. 杭州卧兔全球首发2022海外网红营销白皮书
  9. php利用七牛云的对象存储完成图片上传-高效管理图片(用php搭建一个自己的图床) nice!!!
  10. 分享10个高质量的插画网站