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

article/2025/8/15 13:39:50

原创文章第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构建策略,开始实战。


http://chatgpt.dhexx.cn/article/UNRY1rPU.shtml

相关文章

【程序员如何买基金 三】场内场外交易的区别

先搞明白一个普通概念,场外交易和场内交易的区别:场外交易(一级市场交易)就是直接向基金公司申购(通过之前讲过的直销人和代销人),而场内交易(二级市场交易)就是消费者在证券市场内相互交易。 在…

场内基金ETF手续费一般如何收取,最低多少?

在选择ETF基金时,了解和比较费用是投资者需要考虑的重要因素之一。下面回答下ETF基金的费用如何收取,包括交易佣金、提供降低成本的方法等。通过选择最佳券商和客户经理,投资者可以降低ETF基金的费用,提高投资回报。 一、ETF基金…

etf基金代码大全_什么是ETF(场内基金)?

ETF是英文Exchange Traded Fund 的英文简写 中文翻译过来为“交易型开放式指数基金”,又称“交易所交易基金” 它可以在交易所进行买卖,又是追踪特定指数的基金,并且可以随时进行申购赎回 交易手续费低,比股票低很多,一…

说一说场内基金和场外基金的区别

今天收到后台私信,叫我再写几篇实用的干货。第一次被催更,我竟然有一种要开学了的鸡冻。 鸡冻到放下钉钉 我大天朝过山车般的A股这周又莫名抽风,开始大涨。广大股友果然是不错过每一次应有的恐慌,也不缺席每一次突然的发狂。 最近…

Java中super关键字介绍

由于子类不能继承父类的构造方法,因此,如果要调用父类的构造方法,可以使用 super 关键字。super 可以用来访问父类的构造方法、普通方法和属性。 super 关键字的功能: 在子类的构造方法中显式的调用父类构造方法访问父类的成员方…

关于Java中super的应用

super( )的用法 大白话解释一下super( ) : super( )其实就相当于一个指向基类的指针,(Java中没有指针,但是可以这样理解)。至于用法有一下三种形式: 1. super.XXX( 这里的XXX指的是父类的成员变量名即父类的属性&#…

java中super的用法

java中super的用法 super只在子类中出现super有三种用法 【1】 super.xxx; xxx可以是类的属性。例如super.name;即从子类中获取父类name属性的值 【2】 super.xxx(); xxx()可以是类中的方法名。super.xxx();的意义是直接访问父类中的xxx()方法并调用 【3】 super(); 此方法意…

Java关键字:super

文章目录 一、super关键字的使用二、子类对象实例化的全过程三、Eclipse的debug调试 一、super关键字的使用 1、super理解为:父类的…… 2、super可以用来调用:属性、方法、构造器 3、super的使用:调用属性或方法 重写只是对父类中的方法&am…

Java关键字super解释

目录 前言(废话文学)前言(定义)super()之构造方法super()之成员函数super()之成员变量结束语 前言(废话文学) 又是看了一大堆文字介绍,非常系统和官方,理解要费半天劲,所…

Java中super详解

目录 Java中super详解 super的作用: 1. 通过super可以访问父类的构造方法 2. 通过super可以访问父类的属性(非私有) 3. 通过super可以访问父类的方法(非私有的方法) Java中super详解 在说super之前…

网络安全工程师零基础入门:(企业级)从入门到精通学习路线规划,学完即可就业

前言 最近总能在网上看到很多诸如:“怎样成为网络信息安全工程师”等相关问题,这可能与近几年网络安全事件频发,国家对于互联网信息安全和互联网舆情的重视程度不断提升有关,似乎网络信息安全工程师随之成为炙手可热的职业。 很…

网络安全工程师需要学哪些内容?零基础如何从入门到精通,看完这一篇就够了

网络安全工程师需要学习哪些内容? 作为一名网络安全工程师,需要学习以下内容: 计算机网络和操作系统:网络安全工程师需要了解计算机网络和操作系统的基础知识,以便理解网络安全的基础原理。 网络协议和技术&#xff…

论零基础自学web安全如何成为一名网络安全工程师

学前感言: 1.这是一条坚持的道路,三分钟的热情可以放弃往下看了. 2.多练多想,不要离开了教程什么都不会了.最好看完教程自己独立完成技术方面的开发. 3.有时多google,baidu,我们往往都遇不到好心的大神,谁会无聊天天给你做解答. 4.遇到实在搞不懂的,可以先放放,以后再来解决. …

网络安全工程师必备的七大技能

网络安全有多重要 网络安全非常重要,因为在现代社会中,人们日常生活中的很多方面都与网络有关。随着互联网和数字技术的不断发展,人们已经变得越来越依赖网络,网络已经成为了商业、金融、通信、交通、能源、医疗、教育等各个领域…

自学黑客(网络安全),一般人我劝你还是算了吧

一、自学网络安全学习的误区和陷阱 1.不要试图先成为一名程序员(以编程为基础的学习)再开始学习 我在之前的回答中,我都一再强调不要以编程为基础再开始学习网络安全,一般来说,学习编程不但学习周期长,而…

自学网安十余载,如何成为一名网络安全工程师?

前言 说实话,直到现在,我都认为绝大多数看我这篇文章的读者最后终究会放弃,原因很简单,自学终究是一种适合于极少数人的学习方法,学习进度非常非常慢,在这个过程中的变数过大,稍有不慎&#xf…

成为一名网络安全工程师,你应该学习什么?

前言 这是我的建议如何成为网络安全工程师,你应该按照下面顺序学习。 简要说明 第一件事你应该学习如何编程,我建议首先学python,然后是java。 (非必须)接下来学习一些算法和数据结构是很有帮助的,它将帮…

零基础自学网络安全?劝你还是别做梦了,你可能不知道这行门槛有多高...

前言 作为一名5年网安工程师老菜鸟来说,我实在想不通,开发岗位那么多,为什么要来学网安? 在这里必须给那些准备入坑的同学泼几盆冷水!零基础自学网络安全?劝你还是别做梦了! 待遇 我想不管什么工作&am…

网络安全自学能学会吗?网络安全如何学习

网络安全是近年来的热门工作,吸引了许多小伙伴开始学习网络安全知识。那么我们应该如何学习网络安全呢?这是一个很多人都在考虑的问题。网络安全可以自学吗?自学网络安全能不能学会? 无论什么知识都是自学的,只是说每…

入门网络安全工程师要学什么

根据最新版网络安全产业人才发展报告发布的信息得到的结论: 1、疫情常态化后,国内经济回温,网络安全人才需求增长,2021年上半年需求就较去年增长39.87%,平均薪酬较往年提高4.85%。 2、网络安全工程师从业趋势年轻化&a…