轻松入门Python量化交易(三)

news2024/11/14 2:15:03

大家好,我们接第二部分继续分析金融数据。

配对图和相关矩阵

证券中的相关性分析为我们提供了有趣的投资策略。市场中一个广为人知的策略叫做“Long-Short”,即买入一家公司的证券,同时卖出另一家公司的证券,相信这两个资产在市场上有相反的趋势。也就是说,当一个股票上涨时,另一个就会下跌。为了制定Long-Short策略,投资者依赖于证券之间的相关性分析。

相关性分析不仅对Long-Short策略有用,而且对于避免系统性风险也非常关键,系统性风险是指整个系统崩溃的风险,而不仅仅是个别部分的失败。简单来说,如果你的投资组合中的证券高度相关,或者都在同一行业,如果发生了特定行业的问题,所有证券都可能失去市场价值,导致更大的经济损失。

配对图和相关矩阵是可视化资产之间相关性的有用工具。在相关矩阵中,数值范围在-1和1之间,其中-1表示完全负相关,1表示完全正相关。请记住,当资产呈正相关时,它们往往同时在市场上上涨和下跌,而当资产呈负相关时,则相反。

图片

 

图片

 需要注意的是,以上资产之间没有负相关,这表明它们之间没有任何一个可以限制损失。在金融市场中,对冲是一种投资头寸,旨在通过投资与投资组合中其他资产可能存在负相关的资产来抵消潜在的损失。许多投资者购买黄金来作为对风险更高的投资的保护,当整个市场进入熊市时,黄金往往会增值,从而限制潜在损失。

Beta和Alpha

Beta和Alpha是金融领域中用于评估证券相对于整个市场表现的两个关键指标。Beta是一个证券相对于市场波动性的度量,Beta为1表示该证券的波动性与市场一样,大于1的Beta表示其比市场更具波动性,而小于1的Beta则表示其波动性较低。

另一方面,Alpha是证券超额收益相对于基于其Beta的预期表现的度量。正的Alpha表示该证券在基于其Beta的预期表现方面表现优异,而负的Alpha则表明表现不佳。通过分析证券的Beta值和Alpha值,投资者可以更好地了解该证券与市场相比的风险和潜在回报,并相应地做出明智的投资决策。

要确定Beta和Alpha,我们需要来自SP500指数的数据作为基准,拟合证券和指数之间的线性回归模型,这将使我们能够提取其Beta和Alpha值。

首先,我们加载SP500指数的数据:

# 从美国的基准指数SP500加载数据
sp500 = qs.utils.download_returns('^GSPC')
sp500 = sp500.loc['2010-07-01':'2023-02-10']
sp500.index = sp500.index.tz_convert(None)

接下来,我们可以使用Scikit-Learn线性回归模型来提取Beta和Alpha。

# 拟合苹果公司收益和基准之间的线性关系
X = sp500_no_index.values.reshape(-1,1)
y = aapl_no_index.values.reshape(-1,1)
 
linreg = LinearRegression().fit(X, y)
 
beta = linreg.coef_[0]
alpha = linreg.intercept_
 
print('AAPL beta: ', beta.round(3))
print('\nAAPL alpha: ', alpha.round(3))

继续进行相同操作,得到以下结果:

AAPL beta: [1.111]
AAPL alpha: [0.001]

TSLA beta: [1.377]
TSLA alpha: [0.001]
 
Walt Disney Company beta: [1.024]
Walt Disney Company alpha: [0.0001]
 
AMD beta: [1.603]
AMD alpha: [0.0006]

所有证券的Beta值都大于1,这意味着它们比基准更具波动性,可能提供更高的回报,但也伴随着更高的风险。另一方面,所有证券的Alpha值都很小,接近于零,这表明预期回报和风险调整后的回报之间几乎没有差异。

夏普比率

夏普比率是一种度量投资风险和回报关系的指标。如下图所示:

 

较高的夏普比率表示相对于夏普比率较低的其他投资,该投资提供了更高的回报水平。通常,夏普比率超过1.0被认为是可接受或良好的,2.0或更高被评为非常好,3.0或更高被认为是优秀的。夏普比率为1表示投资的平均回报等于无风险回报率。

使用quantstats,可以获得股票的夏普比率:

# Calculating Sharpe ratio
print("Sharpe Ratio for AAPL: ", qs.stats.sharpe(aapl).round(2))
print("Sharpe Ratio for TSLA: ", qs.stats.sharpe(tsla).round(2))
print("Sharpe Ratio for DIS: ", qs.stats.sharpe(dis).round(2))
print("Sharpe Ratio for AMD: ", qs.stats.sharpe(amd).round(2))
Sharpe Ratio for AAPL:  0.97
Sharpe Ratio for TSLA:  0.95
Sharpe Ratio for DIS:  0.55
Sharpe Ratio for AMD:  0.62

苹果和特斯拉是分析的数据中夏普比率最高的,分别为0.97和0.95,表明这些投资提供更好的风险回报关系。但是,这些投资的夏普比率都不超过1,这可能表明这些投资的平均回报低于无风险回报率。

总结

通过对以上指标的分析,可以得出以下结论:

  • 苹果和特斯拉的夏普比率最好,表明它们具有更好的风险回报关系;

  • 特斯拉的回报率是最高的,但其波动性也比苹果和迪士尼更高;

  • 与其他资产相比,苹果有更高的回报和低波动性,它具有最佳的夏普比率、低Beta值、低标准差和低回报不对称性;

  • AMD是其中风险更高、波动性更大的投资选项,其回报分布高度不对称,具有高标准差和高Beta值;

  • 迪士尼可能是对风险敏感的投资者的不错选择,考虑到它在这段时间内的回报稳定且有规律。

可以说,在分析的资产中,苹果提供了最佳的风险回报关系,具有较高的收益和较低的风险,优于其他选项。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

《微服务架构设计模式》第八章 外部API模式

内容总结自《微服务架构设计模式》 外部API模式 一、API设计难题二、API Gateway 模式1、简介2、所有者模式3、好处和弊端4、设计问题5、实现一个API Gateway 三、使用GraphQL 实现API Gateway四、总结 一、API设计难题 1、移动客户端的API设计难题 在此设计中,移动…

动态规划(二) —— 打家劫舍系列问题总结

前言 除了背包系列问题,打家劫舍系列问题同样也是动态规划的经典题目。在这篇文章中荔枝将会把打家劫舍系列问题做一下总结,再仔细体会动态规划的思想,希望能帮到有需要的小伙伴~~~ 文章目录 前言 一、Leecode198.打家劫舍 1.1 分析 1.2 …

C2C、B2B、B2C、O2O电商定义区别

如今是电子商务高度发展的时代,大多数传统企业商家都开始采取转型战略帮助企业发展,商业模式的选择是转型的关键点,下面小编向你详细介绍一下B2B、B2C、C2C、O2O这些商务模式,帮助你快速理解它们。 BBusiness,即企业;…

Servlet实现文件下载的功能

download.html <% page contentType"text/html;charsetUTF-8" language"java" %> <html> <head><title>文件下载</title><base href"<%request.getContextPath()"/"%>>"> </head>…

前端基本功 用 React Hooks + Antd 实现一个 Todo-List

背景 使用 React Hooks 以及组件库 Antd 来实现一个可以 增删 标记是否完成 的 todo-list 思路 要实现一个 todo-list 首先想到用 useState 维护一个状态数组来保存当前 list &#xff0c;还要用一个状态维护添加框中的内容 const [todos, setTodos] useState(initialValu…

OpenCv图像基本变换

目录 一、图像翻转 二、图像旋转 三、仿射变换之平移 四、仿射变换之获取变换矩阵 五、仿射变换之透视变换 一、图像翻转 图像翻转不等同于旋转&#xff0c;类似于一些视频的拍摄&#xff0c;拍摄后实际是左右颠倒的&#xff0c;通过图像翻转可进行还原 案例代码如下: …

第十四章:Context Encoding for Semantic Segmentation ——语义分割的上下文编码

0.摘要 近期的研究在使用全卷积网络&#xff08;FCN&#xff09;框架改善像素级标注的空间分辨率方面取得了显著进展&#xff0c;通过采用扩张/空洞卷积、利用多尺度特征和细化边界等方法。本文通过引入上下文编码模块来探索全局上下文信息对语义分割的影响&#xff0c;该模块捕…

springMVC的开发步骤-15

第一步你用到前端核心控制器&#xff0c;你应该有他&#xff0c;因此导包&#xff1a; 第二步:配servlet 第三步&#xff1a;配控制器&#xff0c;用来调用视图 结束之后我要干嘛&#xff1f;这个springMvC,我能否将这个pojo放到容器内部当中&#xff0c;能否通过bean标签进行配…

Linux 系统编程-开发环境(三)

目录 16 vim 16.1 vi简介 16.1.1 命令行模式 16.1.2 文本输入模式 16.1.3 末行模式 16.2 vim基础操作 16.3 vim分屏操作 16.4 vim打造IDE 16.4.1 简洁版IDE 17 gcc 18 toolchain 19 静态库和共享库 19.1 静态库 19.2 共享库 19.2.1 基础班使 19.2.2 就业班使用…

BiSeNetv2(pytorch)测试、训练cityscapes

1. 源码&#xff1a; github: https://github.com/CoinCheung/BiSeNet git clone https://github.com/CoinCheung/BiSeNet.git2. 预训练模型&#xff1a; 工程下载后解压&#xff0c;并在其中创建文件夹【model】用于存放预训练模型&#xff1b; 3. 运行demo conda creat…

【安装】Linux环境下的 JDK的安装 安装配置 环境变量

目录 Linux安装java环境1.检查系统中是否有JDK2.删除原有的java相关的包3.上传jdk到指定的文件夹4.解压jdk-8u371-linux-x64.tar.gz5.配置jdk的环境变量6.让配置生效 运行一个jar包运行jar包进行测试 Oracle 甲骨文中国 | 云应用和云平台 windows环境下的 JDK官网下载 & 安…

Android实现抓包 使用Fiddler抓包

Fiddler下载&#xff1a;https://pan.baidu.com/s/1QzvL0xugp6XX7gbFBFlEJg?pwdbf6u 提取码&#xff1a;bf6u 1.Fiddler配置 如果用不到https可以不开启https抓包 电脑打开fiddler&#xff0c;手机电脑同一网段。fiddler打开https抓包(Tools->Options->HTTPS)&a…

re学习(17)Bugku-re-Tworld(使用DFS解决迷宫问题)

下载地址&#xff1a; 跳转提示 参考视频&#xff1a; 【Bugku/CTF/Re/WP】使用DFS解决迷宫问题CTF "Tworld"_哔哩哔哩_bilibili 载入IDA后发现有UPX壳&#xff0c;先用工具进行脱壳&#xff0c;然后载入IDA进行分析。 编写脚本&#xff1a; #全部代码 import…

【电路原理学习笔记】第3章:欧姆定律:3.3 电压的计算

第3章&#xff1a;欧姆定律 3.3 电压的计算 电压相关欧姆定律公式&#xff1a; V I R VIR VIR 【例3-11】在图3-10所示的电路中&#xff0c;产生5A电流需要多大电压&#xff1f; 【答】 V I R 5 A 100 Ω 500 V VIR5\rm A\times 100Ω500 V VIR5A100Ω500V 【同步练习…

N天爆肝数据库——MySQL(5)

本文主要对索引进行了讲解 这里写目录标题 本文主要对索引进行了讲解索引概述介绍优缺点索引结构二叉树红黑树B-Tree(多路平衡查找树)BTreeBTree与B-Tree区别: HashHash索引特点 为什么InnoDB存储引擎选择使用BTree索引结构&#xff1f;索引分类在InnoDB存储引擎中&#xff0c;…

详解JS的四种异步解决方案!

目录 同步&异步的概念 js中异步的应用场景 实现异步的四种方法 1、 回调函数 2、Promise 3、Generator 4、 async/await 「异步编程」是前端工程师日常开发中经常会用到的技术&#xff0c;也是校招面试过程中常考的一个知识点。 通过掌握「异步编程」的四种方式&…

redis 和mongodb基础操作练习

目录 redis作业 string、list、hash 数据类型 举例说明list和hash的应用场景&#xff0c;每个至少一个场景 mongodb作业 1. 创建一个数据库 名字grade 2. 数据库中创建一个集合名字 class 3. 集合中插入若干数据 文档格式如下 4. 查找 5. 增加、更新、删除、统计 re…

【电路原理学习笔记】第3章:欧姆定律:3.1 电压、电流与电阻的关系

第3章&#xff1a;欧姆定律 3.1 电压、电流与电阻的关系 欧姆定律指出&#xff1a;电流与电压成正比&#xff0c;与电阻成反比。即 I V R I\frac{V}{R} IRV​ 3.1.1 电压与电流之间的线性关系 数学上&#xff0c;线性指的是变量之间的关系在图形上是一条直线。线性方程所对…

数据结构与算法——希尔排序(引例、希尔增量序列、原始希尔排序、代码、时间复杂度、Hibbard增量序列、Sedgewick增量序列)

目录 引例 希尔增量序列 原始希尔排序 代码&#xff08;C语言&#xff09; 时间复杂度 更多增量序列 Hibbard增量序列 Sedgewick增量序列 希尔排序&#xff08;by Donald Shell&#xff09; 引例 给以下序列进行排序&#xff1a; 先以5的间隔进行插入排序&#xff1a…

自学数据结构和算法(5)

二叉树的遍历 分为先序、中序、和后序遍历。 这三种遍历都可以由递归序来得到&#xff1a; &#xff08;1&#xff09;先序遍历&#xff08;也是二叉树的深度优先遍历&#xff09;是第一次到某个结点才打印&#xff1b; &#xff08;2&#xff09;中序遍历是第二次到某个结…