文章内容

2023/7/27 15:40:50,作 者: 黄兵

均值 - 方差投资组合理论

下面的 Python 从远程检索数据文件,根据投资者的目标选择一些列字段,并从价格时间序列数据中计算对数收益率。

示例代码:

import numpy as np
import pandas as pd
from pylab import plt, mpl
from scipy.optimize import minimize

plt.style.use('seaborn')
mpl.rcParams['savefig.dpi'] = 300
mpl.rcParams['font.family'] = 'serif'
np.set_printoptions(precision=5, suppress=True, formatter={'float': lambda x: f'{x:6.3f}'})
# 从远程位置检索历史终日数据
url = 'http://hilpisch.com/aiif_eikon_eod_data.csv'
raw = pd.read_csv(url, index_col=0, parse_dates=True).dropna()
raw.info()
# 指定需要检索的字段
symbols = ['AAPL.O', 'MSFT.O', 'INTC.O', 'AMZN.O', 'GLD']
# 计算所有时间序列的对数收益率
rets = np.log(raw[symbols] / raw[symbols].shift(1)).dropna()
# 绘制选定字段的标准化金融时间序列
(raw[symbols] / raw[symbols].iloc[0]).plot(figsize=(10, 6))

最后运行结果如下:

这里需要注意导入的几个库,一个是 matplotlib 我们可以通过如下方式安装:

pip 方式安装:

pip install matplotlib

使用 conda 方式安装:

conda install -c conda-forge matplotlib

SciPy 是基于NumPy 构建的数学算法和便利函数的集合。它通过为用户提供用于操作和可视化数据的高级命令和类,为 Python 增添了强大的功能。

pip 安装方式:

python -m pip install scipy

使用 conda 方式安装:

conda install scipy


参考资料:

1、Matplotlib 3.7.2 documentation

2、SciPy User Guide


其他相关推荐:

1、在 PyCharm 中使用 Jupyter 记事本

2、Seaborn 库

3、期货:内盘外盘

4、How crawler data is collected and organized

5、爬虫数据是如何收集和整理的

分享到:

发表评论

评论列表