原创文章第77篇,专注“个人成长与财富自由、世界运作的逻辑, AI量化投资”。

关于量化的基础知识,前面说得差不多了。

后面要开始实战。

量化的细分市场很多,如下图所示:

再从风险收益来看,从基金到加密货币,从“保守”到“激进”。

这里指的保守,当然是“主动管理”里的保守。还是更保守的就是“大类资产配置”。

关于实战,我选择的“战场”是ETF。

一般的专栏讲量化,要么期货(CTA),更多是股票。为何我跳过股票而选择ETF?

我们说过,越宏观的东西规律越稳定,越微观越随机。ETF背后是指数,可以是行业,可能是市值,也可能是红利这样的smart beta。在一定的时间段相对稳定 。相对下来,股票背后是一家家公司,就算白酒都挺好,但不是谁都能成为茅台,更何况商战信息千变万化,要判断一家公司未来前景谈何容易。

指数基金是跨品种(货币,债券,可转债,FOF,商品,REIT…),跨市场的,覆盖香港,美国、日本,越南,德国…) ,具备跨市场和品类配置,对冲的可能。

ETF与主动基金相比规则更透明,不太依赖基金公司和基金经理。回头看,确实能找到不少多年超过市场基准的明星基金经理,但往前看,你很难看清。去年风格切换,很多明星基金经理就没有反应过来。我们很难判断是正常回调,还是他从此泯然于众人。而ETF就是被动执行规则,因子规律清晰。另外,指数基金长生不死,做长线配置非常合适。

场内交易与场外基金相比手续费更低,部分还可以T+0交易。大类资产配置走场外可以定投,要主动管理走场内,可以灵活交易。

01 数据准备

场内基金列表:

df = get_etf_basics()
df['_id'] = df['ts_code']
from common.mongo_utils import write_df
write_df('basic_etfs', df, drop_tb_if_exist=True)

一共1184支可交易的场内基金。

基金净值处理有两个细节。

ts的接口每次只能取最新的800行,一些历史较久的基金,需要多次读取数据。

另外,复权因子每次限制2000行,同时复权因子需要还原补充到时间序列里。

这里用好两个参数,offset和limit。

offset从0开始,每次limit读800,offset递增800,若没有数据返回就退出循环。

def get_etf_quotes(code, date_start="", offset=0, limit=800):# 拉取数据df = pro.fund_daily(**{"trade_date": "","start_date": "{}".format(date_start),"end_date": "","ts_code": "{}".format(code),"limit": limit,"offset": offset}, fields=["ts_code","trade_date","open","high","low","close","vol","amount"])df.dropna(inplace=True)if len(df) == 0:return Nonereturn dfdef get_all_quotes(code):offset = 0df = get_etf_quotes(code, offset=0)print(df)all = [df]while (df is not None):print('===========================offset====================', offset)offset += 800df = get_etf_quotes(code, offset=offset)all.append(df)df_all = pd.concat(all)df_all.dropna(inplace=True)df_all.set_index('trade_date', inplace=True)return df_all

以“后复权”的方式保留——我们回测时,都以“后复权”的价格进行。

02 Arctic:基于mongo的列存数据库

Arctic由MAN AHL于2012年开发,并于2015年开源,Arctic 构建在MongoDB之上,针对数值数据的高性能数据库。

在量化投资中,可以用来存储海量的Tick级行情数据。它支持 Pandas、 numpy 数组和 pickle 对象,并支持其他数据类型和版本控制。每个客户机每秒可以查询数百万行,网络带宽达到10倍的压缩,磁盘达到10倍的压缩,每个 MongoDB 实例每秒可扩展到数亿行。

列存数据库写入,读出都非常快,一会会功夫,1000多支场内基金的历史数据就都入库了。

明天基于arctic,结合backtrader构建策略,开始实战。

ETF场内基金:AI量化投资最佳切入点(数据篇)相关推荐

  1. 三分钟玩转微软AI量化投资开源库QLib

    数量技术宅团队在CSDN学院推出了量化投资系列课程 欢迎有兴趣系统学习量化投资的同学,点击下方链接报名: 量化投资速成营(入门课程) Python股票量化投资 Python期货量化投资 Python数 ...

  2. 微矿Qlib:业内首个AI量化投资开源平台

    近期,微软亚洲研究院正式发布了 AI 量化投资开源平台"微矿 Qlib".这是微软亚洲研究院成立"创新汇"三年以来,在与金融行业的成员企业合作研究的基础之上,打 ...

  3. 《跟我学习AI量化投资》通过chatgpt进行选股,简单易懂,降低人为操作风险

    打开chatgpt,向其提问题,内容如下: 写一个Python程序,能够统计最近一个月涨幅达到30%以上的股票在最近一个月前的市值.成交额.阳线数量.振幅和继续形态(使用TA-Lib),请把每一个维度 ...

  4. 微软开源!世界首个AI量化投资平台 Qlib 基本使用教程

    量化往期推荐 Easytrader 超简单的股市自动交易神器 Lean - 优秀好用的开源量化交易平台 30分钟教你搭建普罗监控系统-股票人气榜实时变化! 可转债交易薅羊毛策略 - Python 量化 ...

  5. AI量化投资开源平台——Qlib(微矿)的学习使用笔记(随缘更新)

    零.Qlib的简介 可以查看以下链接了解Qlib的功能以及结构框架. 微矿Qlib:业内首个AI量化投资开源平台 官方GitHub仓库 一.Qlib环境安装 安装过程非常艰难,主要参考了以下资料,在此 ...

  6. 微软 AI 量化投资平台 Qlib 体验

    华泰人工智能系列之四十 核心观点 本文介绍微软 AI 量化投资平台 Qlib 基础和进阶功能,对比传统量化策略 开发流程和 Qlib 提供的解决方案,提炼 Qlib 特色及优势,并探讨笔者使用 体会. ...

  7. 量化投资常用技能——绘图篇 1:绘制股票收盘价格曲线和ochl烛状图

    量化投资常用技能--绘图篇 1 量化投资 绘图技能 Python绘图库:matplotlib 绘制烛状图库:mpl_finance 之后的博客讲解深度会逐渐提升,将包括一下几个方面: 绘图 指标公式与 ...

  8. 量化投资常用技能——绘图篇 2:绘制移动平均线

    量化投资常用技能--绘图篇 2 前言 移动平均线 使用numpy库计算移动平均值 量化投资第三方库:abupy 欢迎大家关注我们 我们的抖音号:金融观察(JRGC8888) 前言 上一篇文章" ...

  9. 量化投资常用技能——指标篇1:详解 MACD指标绘制、及其计算过程和作用

    量化投资常用技能 系列文章目录 我们已经介绍了三篇关于量化投资方面绘图的文章,大家有兴趣可以了解一下 绘图篇 量化投资常用技能--绘图篇 1:绘制股票收盘价格曲线和ochl烛状图 量化投资常用技能-- ...

最新文章

  1. R语言ggplot2可视化:ggplot2中使用element_text函数设置轴标签文本粗体字体(bold text,只设置y轴的标签文本使用粗体字体)
  2. 深度全解卷积神经网络(附论文)
  3. cygwin用命令安装软件_软件安装、命令行、Github
  4. 【python3的学习之路四】使用list和tuple
  5. 传统路由器被抛弃的理由—Vecloud
  6. Python语言学习之常见语句命令那些事:python和常见语句命令(条件语句、pass语句)使用方法之详细攻略
  7. 用户NT AUTHORITYNETWORK SERVICE登录失败解决方法
  8. Scikit-learn数据预处理之范数缩放NormalizerScaler
  9. superobject内存泄漏
  10. easyexcel 日期类型 convert_数据库的几种日期时间类型,你真的会用吗?
  11. php csrf攻击 xss区别,XSS与CSRF攻击及防御方法
  12. [Unity脚本运行时更新]C#7.3新特性
  13. 输入法半角和全角的快捷转换_华宇拼音输入法 一款完全免费的国产输入法_第1页...
  14. Memcached介绍及相关知识
  15. 关于System.AccessViolationException异常
  16. CentOS 6.6安装配置LAMP服务器(Apache+PHP5+MySQL)
  17. shiro加盐走源码
  18. 纪中暑假培训 :Date:7 终章-剑之魂
  19. 中国计量大学现代科技学院第四届“中竞杯”程序设计校赛(同步赛)F.爬塔
  20. 疫情之下,征信有逾期如何处理?

热门文章

  1. Unity播放Gif动画
  2. Simplicity and Compromise
  3. java 设计模式之三-模版模式
  4. Sambamba: process your BAM data faster!
  5. 高中计算机网络分类教案,计算机网络分类教案
  6. WWCD 2015: Swift 里的Value Type 和面向协议
  7. 手机垃圾短信,应该如何有效治理
  8. 网络交换介质-光纤线常备知识
  9. 众美集团携手行业伙伴 深化物业服务创新
  10. python少儿编程培训