零基础想系统地学习金融学、量化投资、数据分析、python,需要哪些课程、书籍?有哪些证书可以考?

曾经我也是零基础小白,题主想走的路,我已经走过啦~作为一名CFA持证人和管理因子投资的量化策略的投资组合经理,我把这些年积累的干货跟大家分享。

量化投资是金融学的一部分,量化投资(跟量化交易的概念有部分重合)需要进行数据分析,而常见的工具是R或者Python。R正在逐渐被Python代替,如果是零基础的同学,建议直接学Python就可以了。

下面我就再用量化投资中最受欢迎的因子投资为例,搭建一个量化投资的框架,哪里需要数据分析、哪里需要金融学、哪里需要Python的知识,希望大家能在框架中找到它们各自的位置。其中,金融学和数据分析的知识是血肉,Python技能是骨架,没有骨架,再好的血肉也是立不起来。因此,Python的学习贯穿量化投资的过程。

因子投资(Factor Investing),也叫做聪明的贝塔(Smart Beta),是量化投资领域非常受欢迎的重要分支。目前,市场上共有1.8万亿美元的资金投资于因子投资的模型中。因子投资用简单的白话说,就是通过找到决定股票收益高低的“因子(因素)”来进行投资。搭建一个因子投资的模型,需要完成以下流程:收集数据——数据分析——模型训练——检验回测业绩——调整模型。

一、收集数据

目前股票市场上提供财务数据的数据库有很多,但最常用的,是针对A股市场的Wind数据库和针对美股市场的Bloomberg数据库。如果我们分析某只股票,可以通过登陆Wind或者Bloomberg终端进行信息检索和数据收集,但量化投资需要海量的财务数据,通过终端查询不可能实现,通过Excel表格的插件,也费事费力。最有效率的获取数据方法,是通过数据库的Python插件。

以Wind为例,在Python中输入以下代码:

import pandas as pd
from WindPy import w
w.start()

使用Python获取数据库的数据比Excel省事很多,不仅速度快,数据分析时也不用再读取Excel文件了。这里的免费课程覆盖了Python的重要语法,在通过案例学习语法的过程中,自然而然的会学习金融、数据分析的知识。大家先领取,再往下看文章。

Python 量化技能入门必备👉语法入门+四大实战案例

¥0.00立即领取

二、数据分析

拿到财务数据后,我们要做的第一步就是进行数据清理,其中包括了缺失值处理、极值处理、数据转换、数据可视化。这些步骤需要处理大量的数据,Python会让我们事半功倍。

1,缺失值处理。 缺失的数据会影响模型的准确度,如果一个指标的缺失数据达到了20%以上,我们就要考虑是否应该将该指标排除在外。比如,我们想要通过学生的模拟考试成绩预测高考成绩,但一半的学生都没有参加模拟考,那还怎么预测呢?一般情况下,缺失值不是太多,我们会替换成平均数或者中位数。

2,极值处理。 极值顾名思义,就是指特别大或者特别小的数,这个数混在数据里,会影响我们对数据情况的判断。比如,一个小公司的员工都只领几千块钱的薪水,而CEO领几千万元的薪水,公司的平均薪资都达到十几万了,显然,平均数不能正确反映员工的工资水平,这时,CEO的薪水就应该作为极值被排除在外。量化投资中,最常用的极值处理方法是Winsorization,这在Python中也很容易实现。

3,数据转换。 我们分析数据的目的,是要获取数据中隐藏的信息,这个过程就像破案一样,要抽丝剥茧。很多时候,数据要符合一定的样子才能吐露信息,比如在线性回归模型中,自变量应该服从正态分布。这时候,我们需要将原始数据变成期望中的样子,这个过程就叫做数据转换。量化投资中,我们会将数据标准化、正态化、取Log等等。

4,数据可视化。 “A picture is like a thousand words",一图顶万言。画图能帮助我们更好的了解手中的数据。Python在数据可视化这方面比R更加灵活、领先,比如Clustering的可视化,关于分布的Histogram图片。

从使用者的角度,Python的语言更直白,图片更好看。如果大家向领导汇报,相信Python会比R更能让领导“赏心悦目”。

三、模型训练

量化投资的模型可以分成两大类:回归类(regression)和分类类(classification) 。这两类都是监督学习的模型,最常见的回归模型就是线性回归,也就是多元一次方程式;最常见的分类模型就是二叉树模型。

因子投资的基础模型是线性回归,我们将收集到的时间序列数据或者横截面数据代入线性回归模型中。

ExpectedReturn=Alpha+Beta1∗Factor1Value+Beta2∗Factor2Value+…Betan∗FactornValue+errorterm

当因子太多,也就是线性回归模型中的自变量太多时,自变量之间可能存在相关关系,互相影响从而降低模型的准确度。这时,我们可以用脊回归模型或者LASSO来进行自变量的权重调整或挑选。这些模型都可以用Python相应的Package完成。

线性回归模型简单且强大。但实际上,市场中很多因素对股价的影响并不是线性的,我们如何能找到非线性的模型呢?答案就是决策树。随着技术的发展,更聪明的模型被引入到量化投资中,除了简单的回归,我们还可以将模型设计成决策树或者神经网络。决策树算法采用树形结构,使用层层推理来实现最终的分类。决策树又叫二叉树,是因为每个推理节点,都会分成“是”和“否”两个分支。比如,银行决定是否向个人发放贷款,简单的决策树模型如下图。

简单的决策树模型虽然没有线性的强制假设,但也不能代表股票市场真实发生的情况,,我们可以将模型变为Random Forest(Bagging)或者Boosting。

但有的时候,市场不是只有“是”和“否”两个答案。如果再引入更加聪明的模型,我们可以用神经网络模型(nerual network)。神经网络是模拟人类大脑处理信息方式的简化模型,它通过模拟大脑的多层感知,对输入信息的反馈过程决进行隐藏层,每个信息对最终预测结果的影响都是多元化的。

这些模型的搭建工具是Python,各个模型对应的Package都可以在网上搜索到。

四、检测回测业绩和调整模型

当我们训练出一个模型后,需要用真实的历史数据检测该模型在历史上是否有效。回测结果非常重要,如果回测结果不好,那这个模型基本要被推翻重建;如果回测结果好,我们也不能掉以轻心,因为回测的结果好,不代表现在用着也好。有很多模型放到真实世界里就失效了。要搭建一个有效的量化投资模型,需要我们不停的检测、调整。

检测模型是否有效,还需要分析一些统计学指标,比如R Square,T-Statistic。我们还可以用一些统计学方法来检测每个自变量(我们向模型输入的能影响股票价格的指标)的重要性,从而决定是否要放弃某些指标,或者寻找其他类似指标。如果是回归模型,可以使用Stepwise Selection,如果是决策树模型,可以使用Feature Selection方法。

工欲善其事,必先利其器。Python等编程语言是量化投资的工具,如果不会使用工具,再好的策略也只是纸上谈兵,落不到实处。因此,掌握Python是量化投资的基础,下面的课程会系统的帮助我们了解Python在量化投资中的应用,最重要的是,它免费,感兴趣的朋友赶紧薅羊毛薅起来吧!

结语

当然,好的模型不仅在于“型”,更在于输入的数据是什么。如果我们对股票市场缺乏了解,不知道什么因素能影响股票的价格,那么再好的模型也无法预测未来的股票收益,因为你让模型吃进去的全是噪音数据,模型无法提取到信息,正所谓“Garbage In,Garbage Out”。金融知识在这里就展示出了它的重要性。量化投资的重点仍然在“投资”,量化只是实现投资的方式,领域知识非常重要。毕竟,我们的目标是成为会写程序的投资者,而不是只会写程序的门外汉。

如果你对Python感兴趣的话,可以试试我整理的这份Python全套学习资料,微信扫描下方二维码免费领取

包括:Python永久使用安装包、Python web开发,Python,Python数据分析,人工智能、机器学习等学习教程。带你从零基础系统性的学好Python!
在这里插入图片描述

零基础Python学习资源介绍

一、Python所有方向的学习路线

Python所有方向路线就是把Python常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
在这里插入图片描述

二、Python学习软件

工欲善其事,必先利其器。学习Python常用的开发软件都在这里了!
在这里插入图片描述

三、Python入门学习视频

还有很多适合0基础入门的学习视频,有了这些视频,轻轻松松上手Python~在这里插入图片描述

四、Python练习题

每节视频课后,都有对应的练习题哦,可以检验学习成果哈哈!
在这里插入图片描述

五、Python实战案例

光学理论是没用的,要学会跟着一起敲代码,动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。这份资料也包含在内的哈~在这里插入图片描述

六、Python面试资料

我们学会了Python之后,有了技能就可以出去找工作啦!下面这些面试题是都来自阿里、腾讯、字节等一线互联网大厂,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
在这里插入图片描述
在这里插入图片描述

七、资料领取

上述完整版Python全套学习资料已经上传CSDN官方,需要的小伙伴可自行微信扫描下方CSDN官方认证二维码输入“领取资料”免费领取!!
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/171397.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

SQL常见函数整理 —— LAG() 向上偏移

1. 用法 窗口函数,用于访问窗口中当前行之前的行的数据。该函数可以根据需要计算当前行之前的值,使我们能够轻松地比较不同行之间的差异和变化。 2. 基本语法 LAG(column, offset, default_value) OVER (ORDER BY column)column:代表在返回…

鸿蒙原生应用/元服务开发-AGC分发如何配置版本信息(上)

1.配置HarmonyOS应用的“发布国家或地区”。 2.设置是否为开放式测试版本。 注意:HarmonyOS应用开放式测试当前仅支持手机、平板、智能手表。如开发者想发布为开放式测试版本,选择“是”。正式发布的版本请选择“否”。 3.在“软件版本”下点击“软件包…

获取1688店铺所有商品、店铺列表api

返回数据格式: 请求链接 {"user": [],"items": {"item": [{"num_iid": "738354436678","title": "国产正品i13 promax全网通5G安卓智能手机源头厂家批发手机","pic_url": "…

c语言:十进制转任意进制

思路&#xff1a;如十进制转二进制 就是不断除二求余在除二求余&#xff0c;然后将余数从下到写出来&#xff0c;这样&#xff0c;10011100就是156的二进制 这里举例一个六进制的代码&#xff1a; #define _CRT_SECURE_NO_WARNINGS #include<stdio.h>int main() {int …

uniapp+vue3使用pinia,安卓端报错白屏

报错内容&#xff1a; reportJSException >>>> exception function:createInstanceContext, exception:white screen cause create instanceContext failed,check js stack ->at useStore2 (app-service.js:1487:15)at (app-service.js:1714:17)at (app-serv…

电压放大器实验可以研究哪些领域

电压放大器是一种电子电路&#xff0c;能够对输入信号进行放大&#xff0c;使得输出信号具有更大的幅度。在实验中&#xff0c;电压放大器可以应用于许多领域&#xff0c;从电子学到通信领域&#xff0c;都能够进行研究与实践。 在电子学领域&#xff0c;电压放大器实验可以用于…

【Redis使用】一年多来redis使用笔记md文档,第(2)篇:命令和数据库操作

Redis 是一个高性能的key-value数据库。本文会让你知道&#xff1a;什么是 nosql、Redis 的特点、如何修改常用Redis配置、写出Redis中string类型数据的增删改查操作命令、写出Redis中hash类型数据的增删改查相关命令、说出Redis中 list 保存的数据类型、使用StrictRedis对象对…

Redis7--基础篇3(持久化)

持久化介绍 官网地址&#xff1a; https://redis.io/docs/manual/persistence RDB(Redis DataBase)AOF(Append Only File)RDB AOF RDB模式(Redis DataBase) RDB 持久性以指定的时间间隔执行数据集的时间点快照。 实现类似照片记录效果的方式&#xff0c;就是把某一时刻的数据…

Active Directory 和域名系统(DNS)的相互关系

什么是域名系统&#xff08;DNS&#xff09; 域名系统&#xff08;DNS&#xff09;&#xff0c;从一般意义上讲是一种将主机名或域名解析为相应IP地址的手段。 在 AD 的中&#xff0c;DNS 服务维护 DNS 域和子域的工作命名空间&#xff0c;这些域和子域主要有助于查找过程&am…

SVG圆形 <circle>,椭圆形 <ellipse>的示例代码

本专栏是汇集了一些HTML常常被遗忘的知识&#xff0c;这里算是温故而知新&#xff0c;往往这些零碎的知识点&#xff0c;在你开发中能起到炸惊效果。我们每个人都没有过目不忘&#xff0c;过久不忘的本事&#xff0c;就让这一点点知识慢慢渗透你的脑海。 本专栏的风格是力求简洁…

ChainLight zkSync Era漏洞揭秘

1. 引言 ChainLight研究人员于2023年9月15日&#xff0c;发现了zkSync Era主网的ZK电路的一个soundness bug&#xff0c;并于2023年9月17日&#xff0c;向Matter Labs团队报告了该问题。Matter Labs团队修复了该问题&#xff0c;并奖励了ChainLight团队5万USDC——为首个zkSync…

51单片机/STM32F103/STM32F407学习1_点亮LED灯

目录&#xff1a; 基础知识单片机从0实现单片机GPIO介绍 参考连接&#xff1a; 野火霸天虎教程 https://doc.embedfire.com/products/link/zh/latest/mcu/stm32/ebf_stm32f407_batianhu_v1_v2/download/stm32f407_batianhu_v1_v2.html x.1 基础知识 x.1.1 指针中的取地址&a…

Java 异常处理、继承、重写/重载

一、java异常处理&#xff1a; 三种类型的异常&#xff1a;检查性异常、运行时异常、错误。 所有的异常类是从java.lang.Exception类继承的子类。Exception类是Throwable类的子类。除了Exception类外&#xff0c;Throwable还有一个子类Error。 异常类有两个主要的子类&#…

Linux | 从虚拟地址到物理地址

前言 本章主要讲解虚拟地址是怎么转化成物理地址的&#xff0c;以及页表相关知识&#xff1b;本文环境默认为32位机器下&#xff1b;如果你连什么是虚拟地址都不知道可以先看看下面这篇文章&#xff1b; Linux | 进程地址空间-CSDN博客 一、概念补充 页表&#xff1a;是一种数据…

Appium移动自动化测试—如何安装Appium

前言 Appium 自动化测试是很早之前就想学习和研究的技术了&#xff0c;可是一直抽不出一块完整的时间来做这件事儿。现在终于有了。 反观各种互联网的招聘移动测试成了主流&#xff0c;如果再不去学习移动自动化测试技术将会被淘汰。 web自动化测试的路线是这样的&#xff1…

如何利用 AI 写一本书并实现被动收入

如何每个月写一本能赚 5000 美元的书&#xff1f;不少人不知道如何在一周内写作和出版一本书 这里有个教程教你如何利用 AI 写一本书并实现被动收入 [收藏起来以备后用] 推出书友智能写作工具&#xff1a;Bookwiz 不用花几年时间独自写作一本小说&#xff0c;人工智能可以作…

【MATLAB源码-第84期】基于matlab的802.11a标准的OFDM系统误码仿真对比QPSK,16QAM。

操作环境&#xff1a; MATLAB 2022a 1、算法描述 基于802.11a标准的OFDM&#xff08;正交频分复用&#xff09;系统是一种高效的无线通信技术&#xff0c;特点如下&#xff1a; 频带与信道&#xff1a; 802.11a工作在5 GHz频段&#xff0c;这个频段相对于2.4 GHz&#xff08…

Playcanvas后处理-辉光bloom

&#xff08;一&#xff09;Bloom介绍 Bloom&#xff08;辉光、光晕、泛光&#xff09;是一种常见的摄像机后处理&#xff08;PostProcessing&#xff09;效果&#xff0c;用于再现真实世界相机的成像伪影。这种效果会产生从图像中明亮区域边界延伸的光条纹&#xff08;或羽毛…

MyBatis框架——Mybatis操作数据库之简单的insert操作的实现

入门_MyBatis中文网https://mybatis.net.cn/getting-started.html一些配置文件的模板可以从mybatis的官网中找到。 一、MyBatis操作数据库步骤 1、读取MyBatis配置文件mybatis-config.xml。 mybatis-config.xml作为mybatis的全局配置文件&#xff0c;配置MyBatis的运行环境等…

「C++」AVL树的实现(动图)

&#x1f4bb;文章目录 AVL树概念AVL的查找AVL树的插入 代码部分AVL树的定义查找插入旋转 &#x1f4d3;总结 AVL树 概念 AVL树又名高度平衡的二叉搜索树&#xff0c;由G. M. Adelson-Velsky和E. M. Landis发明&#xff0c;顾名思义&#xff0c;其任意节点的左右子树最大高度…