Python 金融大数据分析

第一章 为什么将Python用于金融

第二章 基础架构和工具

2.1 Python部署

2.1.1 Anaconda

初学python者自学anaconda的正确姿势是什么??

2.1.2 Python Quant Platform

第三章 入门示例

  • 隐含波动率 隐含波动率- MBA智库百科

    以某些到期H 的期权1&价倒惟出这些期权的隐含波动率,并绘出阁表一一这是期权交易者和风险管理者每天都要面对的任务。

  • 蒙特卡洛模拟 蒙特卡罗方法- MBA智库百科

    通过蒙特卡洛技术,模拟股票指数在一段时间中的变化,对选中的结果进行可视化.并计算欧式期权价值。蒙特卡洛模拟是期权数字化定价的基石,也是涉及风险价值计算或者信用值调整的风险管理℃作的基础。

  • 技术分析 技术分析-维基百科

    实施历史时间序列数据的分析,对根据趋势信号的投资策略进行事后验证;专业投资者和有抱负的业余投资者常常进行这类投资分析。

第四章 数据类型和结构

###第五章 数据可视化

第六章 金融时间序列

6.2 金融数据

https://github.com/GuQiangJS/finance-datareader-py

import matplotlib.pyplot as plt
import numpy as np
from finance_datareader_py.netease.daily import NetEaseDailyReader

df = NetEaseDailyReader('000002').read()
df = df.tail(n=100)
df = df.replace(0, np.nan)
df = df.fillna(method='ffill')
df.plot(y='Close')
plt.show()

1533087934260

根据每日收盘价返回对数收益率。

from finance_datareader_py.netease.daily import NetEaseDailyReader

df = NetEaseDailyReader('000002').read()
df = df.replace(0, np.NaN)
df['Return'] = df['Close'] / df['Close'].shift(1)
print(df[['Close', 'Return']].tail())
            Close    Return

2018-07-04 23.00 0.982067
2018-07-05 23.05 1.002174
2018-07-06 23.21 1.006941
2018-07-09 24.01 1.034468
2018-07-10 24.15 1.005831

波动率聚集:波动率不是长期恒定的;既有高波动率时期(正负收益都很高),也有低波动率时期

杠杆效应:一般来说,波动性的股票市场收益是负相关的;当市场下跌的时候波动性升高,反之亦然。

# 收盘价与回报率的对应图表
df[['Close', 'Return']].plot(subplots=True, figsize=(8, 5))
plt.show()

1533088423103

移动平均

import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
from finance_datareader_py.netease.daily import NetEaseDailyReader

df = NetEaseDailyReader('601398').read()
df['Return'] = np.log(df['Close'] / df['Close'].shift(1))
print(df[['Close', 'Return']].tail())
df['42d'] = pd.rolling_mean(df['Close'], window=42)
df['252d'] = pd.rolling_mean(df['Close'], window=252)
print(df[['Close', '42d', '252d']].tail())
df[['Close', '42d', '252d']].tail(n=1000).plot(figsize=(8, 5))
plt.show()

1533088473653

6.3 回归分析

最小二乘法

第七章 输入输出操作

7.3 PyTables的快速I/O

PyTables 是 Python 与 HDF5 数据库/文件标准的结合(https://www.hdfgroup.org/)

PyTables可以把大数据直接写入本地硬盘而并不使用任何数据库管理软件和SQL

7.3.4 内存外计算

numexpr

延伸阅读

第八章 高性能Python

延伸阅读

第九章 数学工具

9.1 逼近法

逼近理论

import matplotlib.pyplot as plt
import numpy as np

def f(x):
return np.sin(x) + 0.5 * x

x = np.linspace(-2 * np.pi, 2 * np.pi, 50)
plt.plot(x, f(x), 'b')
plt.grid(True)
plt.xlabel('x')
plt.ylabel('f(x)')
plt.show()

1531297702083