Pandas
相関と共分散
>>> import pandas.io.data as web
>>> for ticker in ['AAPL', 'IBM', 'MSFT', 'GOOG']:
... try:
... all_data[ticker] = web.get_data_yahoo(ticker, '1/1/2005', '1/1/2010')
... price = DataFrame({tic: data['Adj Close'] for tic, data in all_data.
iteritems()})
... volume = DataFrame({tic: data['Volume'] for tic, data in all_data.it
eritems()})
... except:
... print "Cant find ", ticker
...
Cant find GOOG
>>> returns = price.pct_change()
>>> returns.tail()
AAPL IBM MSFT
Date
2009-12-24 0.034382 0.004402 0.002582
2009-12-28 0.012376 0.013315 0.005519
2009-12-29 -0.011876 -0.003410 0.006952
2009-12-30 0.012018 0.005424 -0.013808
2009-12-31 -0.004191 -0.012616 -0.015475
>>> returns.corr()
AAPL IBM MSFT
AAPL 1.000000 0.497221 0.445868
IBM 0.497221 1.000000 0.559678
MSFT 0.445868 0.559678 1.000000
>>> returns.cov()
AAPL IBM MSFT
AAPL 0.000716 0.000206 0.000236
IBM 0.000206 0.000240 0.000171
MSFT 0.000236 0.000171 0.000390
>>> returns.corrwith(volume)
AAPL -0.010122
IBM 0.031356
MSFT -0.056822
dtype: float64
0 件のコメント:
コメントを投稿
注: コメントを投稿できるのは、このブログのメンバーだけです。