import yfinance as yf import numpy as np import pandas as pd import matplotlib.pyplot as plt import seaborn as sns sns.set(font='SimHei',rc={'figure.figsize':(15,9)}) tickers = { '000001.SS': '上证综指', '600519.SS': '贵州茅台', '518880.SS': '黄金ETF' } data = yf.download(list(tickers), start='2019-06-01', end='2020-09-01')['Close'] data.rename(columns=tickers, inplace=True) data.head() # 取前五 #画图 (data/data.iloc[0]).plot() #收益率 r_log = np.log(data/data.shift(1)) #年化收益率 r_annual = np.exp(r_log.mean()*252)-1 r_annual #风险 std = np.sqrt(r_log.var()*252) #标准差 # 随机生成权重 def gen_weights(n): w = np.random.rand(n) return w / np.sum(w) n = len(list(tickers)) w = gen_weights(n) list(zip(r_annual.index, w)) #投资收益 def port_ret(w): return np.sum(w * r_annual) #投资风险(组合的标准差) def port_std(w): return np.sqrt(w.T.dot((r_log.cov()*252).dot(w))) port_std(w) # 生成多次随机的投资组合 def gen_ports(times): for p in range(times): w = gen_weights(n) yield (port_std(w), port_ret(w), w) df = pd.DataFrame(gen_ports(3000), columns=['std', 'ret', 'w']) df.head() #夏普比率 df['sharp'] = (df['ret']-0.03)/df['std'] plt.scatter(df['std'],df['ret'],c=df['sharp'],cmap='coolwarm',marker='o') plt.grid(True) plt.xlabel('pstd') plt.ylabel('pret') plt.colorbar(label='sharp') #推荐投资组合 list(zip(r_annual.index,df.loc[df.sharp.idxmax()].w)) sharp = (port_ret(w)-0.03)/port_std(w) sharp
多股票投资组合:
https://blog.csdn.net/asialee_bird/article/details/89417750
利用ARIMA进行时间序列数据分析:
相关推荐
在Python编程语言中,投资组合优化和量化战略资产配置是金融领域的核心概念,尤其是在商贸和资产管理行业中。这些技术帮助投资者构建最优的投资组合,以最大化预期收益同时控制风险。本篇文章将深入探讨Python库...
python构建投资组合
Rostislav Telitsin Python产品组合python投资组合我使用python开发的所有项目仅供内部使用,并且与我当前的工作相关。这就是为什么我无法发布它们。但是我可以略述一下我用来创建它们的方法操作系统和文件有时我...
Python 在投资组合优化中的应用广泛,可以利用如`numpy`、`pandas`等库进行数据分析,`scipy.optimize`进行最优化,以及`matplotlib`进行可视化。以下是一个简单的 Python 代码示例,用于计算最小方差组合: ```...
Python强化学习中的PPO算法是一种在复杂环境中进行决策优化的高效方法,尤其适用于连续动作空间的问题,如在金融市场中构建和调整投资组合。本项目将PPO算法应用于中国A股市场,通过模拟交易来实现自动化的投资策略...
在Python中,可以编写一个简单的函数,当信号为买入时(如初始投资时刻),买入并持有至策略结束或满足其他退出条件。 2. **MA5和MA20均线策略**: 这是一种基于移动平均线的策略。移动平均线可以帮助识别趋势,当...
PyPortfolioOpt是一个实现投资组合优化方法的库,包括经典的均值方差优化技术和Black-Litterman分配; mo PyPortfolioOpt是一个实现投资组合优化方法的库,包括经典的均值方差优化技术和Black-Litterman分配,以及该...
描述Riskfolio-Lib是一个库,用于使用秘鲁制造的Python进行定量战略资产分配或投资组合优化 :Peru: 。它的目的是帮助学生,学者和从业人员轻松地基于数学上复杂的模型建立投资组合。它基于构建,并与数据结构紧密...
Python-QuantStats是一个专为量化投资者设计的Python库,它提供了强大的投资组合分析工具,用于评估和比较不同的投资策略。这个库是机器学习在金融领域应用的一个实例,它可以帮助量化交易员和金融分析师进行深入的...
PyPortfolioOpt是一个实现投资组合优化方法的库,其中包括经典的均值方差优化技术和Black-Litterman分配,以及该领域的最新发展,例如收缩和分层风险奇偶校验,以及一些新颖的实验功能,例如指数加权协方差矩阵。...
一个简约的基于 Python 的投资组合管理器。 此版本仅支持沙特证券交易所(Tadawul) 安装 Python pip install -r requirements.txt 猫需求.txt argparse==1.2.1 configparser==3.3.0r2 npyscreen==4.3.5 ...
Python 中的投资组合和风险分析皮叶 pyfolio 是Quantopian Inc开发的用于金融投资组合绩效和风险分析的 Python 库 。它与Zipline开源回测库配合良好 。Quantopian 还为专业人士提供全面托管的服务 ,包括 Zipline、...
Python-pyfolio是一个专门针对金融投资组合的表现与风险分析的开源Python库,它为量化投资策略的回测提供了强大的工具。Pyfolio库是由Quantopian公司开发的,旨在帮助数据科学家和金融分析师更深入地理解投资策略的...
基于Python的投资组合收益率与波动率的数据分析.docx基于Python的投资组合收益率与波动率的数据分析.docx
导航到项目文件夹在Python解释器中:from main import db 获取用户表:从主要导入用户获取投资组合表:从主要导入投资组合 运行应用 导航到项目文件夹的根目录python3 main.py 导航应用 导航到 创建一个新帐户并...
通过深入理解DE算法的原理和Python的实现,投资者可以在不断变化的金融市场中,动态调整投资组合,实现更高效的投资决策。同时,了解并掌握这类优化技术,也有助于扩展对机器学习和人工智能在金融领域应用的认识。
《量化投资:以Python为工具》一共分为5 部分,第1 部分是Python 入门,第2 部分是统计学基础,第3 部分是金融理论、投资组合与量化选股,第4 部分是时间序列简介与配对交易,第5 部分是技术指标与量化投资。...
"基于随机规划设计最优投资组合选择策略_Python_"的主题,意味着我们将探讨一种利用随机优化算法来确定投资组合权重的方法,并通过Python编程语言实现这一策略。下面将详细阐述这一领域的相关知识点。 首先,投资...
(2)最小方差策略,与均值方差策略不同,最小方差策略不考虑投资组合的预期收益率,而是仅仅试图最小化投资组合的方差。 (3)市值加权策略,这是一种简单的投资组合配置策略,其中每个资产的权重与其市值成正比。...
本书一共分为5部分,第1部分是Python 入门,第2部分是统计学基础,第3部分是金融理论、投资组合与量化选股,第4部分是时间序列简介与配对交易,第5部分是技术指标与量化投资。本书首先对Python 编程语言进行介绍,...