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构建投资组合
Rostislav Telitsin Python产品组合python投资组合我使用python开发的所有项目仅供内部使用,并且与我当前的工作相关。这就是为什么我无法发布它们。但是我可以略述一下我用来创建它们的方法操作系统和文件有时我...
投资组合优化:从 Markowitz 到遗传算法(python代码)
描述Riskfolio-Lib是一个库,用于使用秘鲁制造的Python进行定量战略资产分配或投资组合优化 :Peru: 。它的目的是帮助学生,学者和从业人员轻松地基于数学上复杂的模型建立投资组合。它基于构建,并与数据结构紧密...
PyPortfolioOpt是一个实现投资组合优化方法的库,包括经典的均值方差优化技术和Black-Litterman分配; mo PyPortfolioOpt是一个实现投资组合优化方法的库,包括经典的均值方差优化技术和Black-Litterman分配,以及该...
包括以下策略实现 1.Buy&Hold 2.MA5和MA60均线策略 3.RSI策略 4.海龟策略 5.性能评估包括:年化收益、年化波动率、夏普比率、索提诺比率、最大回撤等
PyPortfolioOpt是一个实现投资组合优化方法的库,其中包括经典的均值方差优化技术和Black-Litterman分配,以及该领域的最新发展,例如收缩和分层风险奇偶校验,以及一些新颖的实验功能,例如指数加权协方差矩阵。...
一个简约的基于 Python 的投资组合管理器。 此版本仅支持沙特证券交易所(Tadawul) 安装 Python pip install -r requirements.txt 猫需求.txt argparse==1.2.1 configparser==3.3.0r2 npyscreen==4.3.5 ...
(1)在中国A股市场15只股票上的应用 (2)构建投资组合 (3)每日调仓 (4)绘制收益率曲线 (5)PPO算法
基于Python的投资组合收益率与波动率的数据分析.docx基于Python的投资组合收益率与波动率的数据分析.docx
导航到项目文件夹在Python解释器中:from main import db 获取用户表:从主要导入用户获取投资组合表:从主要导入投资组合 运行应用 导航到项目文件夹的根目录python3 main.py 导航应用 导航到 创建一个新帐户并...
pyfolio - 面向金融投资组合表现与风险分析的Python库
基于Python的马科维茨投资组合理论的实证研究.docx基于Python的马科维茨投资组合理论的实证研究.docx
《量化投资:以Python为工具》一共分为5 部分,第1 部分是Python 入门,第2 部分是统计学基础,第3 部分是金融理论、投资组合与量化选股,第4 部分是时间序列简介与配对交易,第5 部分是技术指标与量化投资。...
本书一共分为5部分,第1部分是Python 入门,第2部分是统计学基础,第3部分是金融理论、投资组合与量化选股,第4部分是时间序列简介与配对交易,第5部分是技术指标与量化投资。本书首先对Python 编程语言进行介绍,...
Portfolio analytics for quants, written in Python
《量化投资:以Python为工具》一共分为5 部分,第1 部分是Python 入门,第2 部分是统计学基础,第3 部分是金融理论、投资组合与量化选股,第4 部分是时间序列简介与配对交易,第5 部分是技术指标与量化投资。...
差分进化的 Python 实现,用于投资组合优化的上下文中。
《量化投资:以Python为工具》一共分为5 部分,第1 部分是Python 入门,第2 部分是统计学基础,第3 部分是金融理论、投资组合与量化选股,第4 部分是时间序列简介与配对交易,第5 部分是技术指标与量化投资。...