axis=0和1分别的表格的纵轴和横轴
最浅显易懂的协方差与标准差
https://www.zhihu.com/question/20852004
有些汇总信息是通过参数对计算出来的
import pandas.io.data as web
import numpy as np
import os
import pandas as pd
from pandas import Series,DataFrame
import matplotlib.pyplot as plt
all_data={}
for ticker in ['GOOG','IBM']:
all_data[ticker]=web.get_data_yahoo(ticker,'9/9/2016','12/12/2016')
# price=DataFrame({tic:data['Adg Close']
# for tic,data in all_data.items()})
volume=DataFrame({tic:data['Volume']
for tic,data in all_data.items()})
# volume.tail()
returns=volume.pct_change()
returns.tail()
# px=web.DataReader('F-F_Research_Data_factors','famafrench')
# px.tail()
注意,有些数据源已经变更. 可以参考:http://stackoverflow.com/questions/15777021/pandas-io-data-get-data-yahoo-dji-retrieval-error
. | GOOG | IBM |
---|---|---|
Date | ||
2016-12-06 | 0.180707 | -0.178520 |
2016-12-07 | 0.072268 | 0.555102 |
2016-12-08 | -0.172835 | -0.255317 |
2016-12-09 | 0.229457 | -0.035525 |
2016-12-12 | 0.177815 | 0.078024 |
ct_change 计算百分数变化
Series的corr方法用于计算两个Series中重叠的,非NA的,按索引对其的值得相关系数.
cov用于计算协方差
returns.GOOG.corr(returns.IBM)
0.6680384656565751
returns.GOOG.cov(returns.IBM)
0.12451587226637535
DataFrame的corr和cov方法将以DataFrame的形式返回完整的相关系数或者协方差矩阵.
returns.corr()
. | GOOG | IBM |
---|---|---|
GOOG | 1.000000 | 0.668038 |
IBM | 0.668038 | 1.000000 |
returns.cov()
. | GOOG | IBM |
---|---|---|
GOOG | 0.224704 | 0.124516 |
IBM 0.124516 | 0.154609 |
利用DataFrame.corrwith方法可以计算其列或者行跟另一个Series后者DataFrame之间的相关系数.