量化交易学习4(投资组合基本认识)

1 如何衡量投资组合的收益率

1.1 投资组合收益率的计算方法

在这里插入图片描述

1.2 投资组合的绝对收益率和相对收益率

在这里插入图片描述

2 如何衡量投资组合的风险

2.1 风险的定义

风险是指在未来可能发生的不确定性事件所带来的潜在损失。
在投资领域中,风险通常指投资所面临的不确定性和潜在的损失。投资的风险通常由多种因素决定,包括市场波动、政治和经济环境、行业和公司的基本面等。投资的风险越高,意味着投资者可能面临更大的损失,但同时也可能获得更高的回报。

2.2 衡量投资组合的风险

在这里插入图片描述
在这里插入图片描述

3 最优化方法计算投资组合的最佳仓位

在前面的学习中,我们分别从截面(多因子模型)和时序(择时策略)两个方面学习了如何对各个股票的未来收益率进行预测;在多因子模型中,我们在同一个时间截面上,计算出每个股票在不同因子上的暴露,通过线性/非线性的方法将多个因子合成综合因子作为股票未来收益率强弱的预测值;在择时策略中,我们计算每个股票的时序信号,更进一步地,我们可以将离散的时序信号值连续化,使得不同股票的择时信号不再是0或1,连续信号的差异化使得在截面上不同股票的择时信号能够进行强弱比较。 细心的读者可能已经发现了,上文多因子模型和时序策略,提到的最终目标,都是在每一个时间截面上,输出股票对未来收益率的预测值,并且在截面上不同股票之间进行强弱比较。这是因为在实盘中,往往有多种限制约束着我们的投资行为。一个最现实的考量就是资金,以A股为例,买卖股票最小的单位为1手,即100股;如果时序模型同时有100支股票产生买入信号1,又或者多因子模型预测值前100支股票具有同样的值;但此时我们可支配的资金只足够交易50支股票,那么如何从100支股票中定量地挑选50支股票呢?所以尽可能地,我们希望在同一时间截面上,不同股票的预测值之间是有差异的。 无论是作为主观投资者重仓少数证券,还是基于量化模型的策略,都会面临如上的问题,每一个证券买多少。假设我们的限制条件很少,例如只有前文提到的资金限制,而截面上不同股票的预测值差异足够大,我们能够恰如其分地选出目标数量的证券;而如果截面上的预测值差异不够大,例如我们需要在100支相同预测值相近的股票中挑选实际交易的50支股票,量化模型还可以借助组合优化的方法。 由此,便引出了本节内容的主题,投资组合优化,即如何分配资金。

  • 等权重
  • 市值加权
  • 最小方差组合
  • 最大分散度
  • 风险平价
  • 均值方差优化

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

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

相关文章

自学Python第二十二天- Django框架(六) django的实用插件:cron、APScheduler

django-crontab 和 django-cron 有时候需要django在后台不断的执行一个任务,简单的可以通过中间件来实现,但是中间件是根据请求触发的。如果需要定时执行任务,则需要使用到一些插件。 django-crontab 和 django-cron 是常用的用于处理定时任…

hive表加字段

目录 1.给表添加字段2.为什么使用cascade3.使用场景 1.给表添加字段 alter table database.tablename add columns(字段名 字段类型 comment 字段中文含义) cascade;2.为什么使用cascade 在Hive中,当你想要修改表结构,例如添加字段时,可能会…

群晖NAS开启FTP服务结合内网穿透实现公网远程访问本地服务

⛳️ 推荐 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。 文章目录 ⛳️ 推荐1. 群晖安装Cpolar2. 创建FTP公网地址3. 开启群晖FTP服务4. 群晖FTP远程连接5. 固定FTP公网地址6. 固定FTP…

【优先级队列(大顶堆 小顶堆)】【遍历哈希表键值对】Leetcode 347 前K个高频元素

【优先级队列(大顶堆 小顶堆)】【排序】Leetcode 347 前K个高频元素 1.不同排序法归纳2.大顶堆和小顶堆3.PriorityQueue操作4.PriorityQueue的升序(默认)与降序5.问题解决:找前K个最大的元素 :踢走最小的&…

HashCat 恢复Excel、Word、PPT密码保姆教程

HashCat 恢复Excel、Word、PPT密码 一、流程 整体需要两个步骤 先用office2john.py获取下文件的hash值 python office2john.py 1.xlsx > hash这个命令需要你电脑有python环境,然后在cmd命令窗口中执行此命令就行 文件链接:https://github.com/magnu…

Python 轻量级定时任务调度:APScheduler

简述 APscheduler (Advanced Python Scheduler),作用为按指定的时间规则执行指定的作业。提供了基于日期date、固定时间间隔interval 、以及类似于Linux上的定时任务crontab类型的定时任务。该框架不仅可以添加、删除定时任务,还可以将任务存储到数据库…

Linux内核编译-ARM

步骤一、下载源码及交叉编译器后解压 linux kernel官网 ARM GCC交叉编译器 步骤二、安装软件 sudo apt-get install ncurses-dev sudo apt-get install flex sudo apt-get install bison sudo apt install libgtk2.0-dev libglib2.0-dev libglade2-dev sudo apt install libs…

数据湖Paimon入门指南

一、主键表(Primary Key Table) Merge Engines sink-upsert-realize可能会导致不正常的现象。当输入乱序时,我们建议您使用序列字段来纠正无序。建议设置为None set table.exec.sink.upsert-materialize NONE Deduplicate&#xff08…

ArrayList和LinkedList的区别是什么

ArrayList 和 LinkedList 分别代表了两类不同的数据结构:动态数组和链表。它们都实现了 Java 的 List 接口,但是有着各自独特的特点和性能表现。 1. 数据结构 ArrayList 是基于可调整大小的数组实现的。它允许快速随机访问,因为内部元素可通…

使用useRoutes提示invalid hook call

包版本&#xff1a; 问题&#xff1a; 今天用vitereactts重新搭建项目时报错 代码&#xff1a; router.tsx import { useRoutes } from react-router-dom; import Home from "../pages/home/index";const routers[{path: /,element: <Home/> } ] // const…

c++ 语法 运算符重载

不要滥用运算符重载 内置类型不能使用运算符重载 号运算符重载 #include <iostream> #include "mathutil.hpp" #include <string> #include "People.hpp" #include "Phone.hpp" using namespace std; class Fclass{ public:int…

jmeter设置关联

一、为什么要设置关联&#xff1f; http协议本身是无状态的&#xff0c;客户端只需要简单向服务器请求下载某些文件&#xff0c;无论是客户端还是服务端都不去记录彼此过去的行为&#xff0c;每一次请求之间都是独立的。如果jmeter需要设置跨线程组脚本&#xff0c;就必须设置…

机器学习本科课程 实验4 支持向量机

第一题&#xff1a;支持向量机的核函数 实验内容&#xff1a; 了解核函数对SVM的影响绘制不同核函数的决策函数图像简述引入核函数的目的 1. 导入模型 import numpy as np import matplotlib.pyplot as plt %matplotlib inline from matplotlib.colors import ListedColorm…

【LeetCode: 292. Nim 游戏+ 博弈问题】

&#x1f680; 算法题 &#x1f680; &#x1f332; 算法刷题专栏 | 面试必备算法 | 面试高频算法 &#x1f340; &#x1f332; 越难的东西,越要努力坚持&#xff0c;因为它具有很高的价值&#xff0c;算法就是这样✨ &#x1f332; 作者简介&#xff1a;硕风和炜&#xff0c;…

vue绘制语音波形图---wavesurfer.js

文章目录 创建实例optionsmethod接收Blob流 https://wavesurfer.xyz/ 创建实例 引入插件&#xff1a;import WaveSurfer from "wavesurfer.js"创建实例对象&#xff1a;this.wavesurfer WaveSurfer.create(options); <div id"waveform"><!-- t…

MySQL 小技巧:xtrabackup 软件包的下载及安装

案例&#xff1a;xtrabackup 软件包的下载及安装 软件包下载&#xff1a;Index of /percona/centos/7/RPMS/x86_64/ CentOS7 默认的数据库版本比较老,因此建议使用 xtrabackup 2.4 版本 // CentOS7 默认的数据库版本比较老,因此建议使用 xtrabackup 2.4 版本 // 安装 CentOS7 默…

性能评测|虚拟化和裸金属 K8s 哪个性能更好?

本文重点 整体而言&#xff0c;SKS&#xff08;虚拟机 Kubernetes&#xff09;可以达到裸金属 Kubernetes 性能的 82% – 96%&#xff0c;满足绝大部分场景下生产容器应用的性能需求。更多虚拟化与裸金属 Kubernetes 架构、特性、适用场景与性能对比&#xff0c;欢迎阅读文末电…

L1-040 最佳情侣身高差-java

输入样例&#xff1a; 2 M 1.75 F 1.8输出样例&#xff1a; 1.61 1.96 import java.util.Scanner;public class Main { public static void main(String[] args) {Scanner scanner new Scanner(System.in);int nscanner.nextInt();String[][] strnew String[n][2];for(int i…

自定义Dockerfile构建运行springboot

自定义Dockerfile构建运行springboot 通过dockerfile生成自定义nginx镜像 &#xff01;&#xff01;&#xff01;docker 必须在linux环境下才能进行如果你是window则需要装虚拟机 新建一个文件名字为Dockerfile&#xff0c;无需后缀 文件完整名就是Dockerfile,也可以自定义d…

相同的树[简单]

优质博文&#xff1a;IT-BLOG-CN 一、题目 给你两棵二叉树的根节点p和q&#xff0c;编写一个函数来检验这两棵树是否相同。如果两个树在结构上相同&#xff0c;并且节点具有相同的值&#xff0c;则认为它们是相同的。 示例 1&#xff1a; 输入&#xff1a;p [1,2,3], q [1,…