3

S&P 500 対任意の株式のベータを計算するコードがいくつかあります。この場合は、ティッカー シンボル「FET」です。しかし、結果は私がヤフー・ファイナンスで見ているものとは完全に異なるようです.歴史的にこの株は非常に不安定であり、それはヤフー・ファイナンスのベータ値1.55を説明するでしょう - http://finance.yahoo.com/q?s =フェット。まったく異なる数値 (0.0088) が表示される理由について誰かアドバイスをいただけますか? 前もって感謝します。

from pandas.io.data import DataReader
from datetime import datetime
from datetime import date
import numpy
import sys

today = date.today()

stock_one = DataReader('FET','yahoo',datetime(2009,1,1), today)
stock_two = DataReader('^GSPC','yahoo',stock_one['Adj Close'].keys()[0], today)


a = stock_one['Adj Close'].pct_change()
b = stock_two['Adj Close'].pct_change()

covariance = numpy.cov(a[1:],b[1:])[0][1]
variance = numpy.var(b[1:])

beta = covariance / variance

print 'beta value ' + str(beta)
4

3 に答える 3

7

わかりましたので、コードを少しいじってみました。これが私が持っているものです。

 from pandas.io.data import DataReader
import pandas.io.data as web
from datetime import datetime
from datetime import date
import numpy
import sys

start = datetime(2009, 1, 1)
today = date.today()
stock1 = 'AAPL'
stock2 = '^GSPC'

stocks = web.DataReader([stock1, stock2],'yahoo', start, today)
# stock_two = DataReader('^GSPC','yahoo', start, today)

a = stocks['Adj Close'].pct_change()

covariance = a.cov() # Cov Matrix
variance = a.var() # Of stock2 
var = variance[stock2]

cov = covariance.loc[stock2, stock1]

beta = cov / var

print "The Beta for %s is: " % (stock2), str(beta)

価格の長さが互いに等しくなかったため、問題 1 がありました。また、実行された最後の行が cov 行列のすべての値のベータを見つけたとき、これはおそらくあなたが望んでいたものではありません。ベータ版が cov(0,0) と cov(1,1) に基づいていることを知る必要はありません。単に cov(0,1) または cov(1,0) を見る必要があります。これらは値ではなく、マトリックス内の位置です。

とにかく、ここに私が得た答えがあります:

The Beta for ^GSPC is:  0.885852632799

* 編集 *

コードを実行しやすくし、Yahoo から取得する銘柄を入力する行が 1 行だけになるように変更しました。

于 2015-02-09T23:46:55.307 に答える
2

クロージング Px を計算用の正しい形式に変換する必要があります。これらの価格は、インデックスと株価の両方の収益率に変換する必要があります。

于 2015-02-05T18:24:50.507 に答える
1

Yahoo ファイナンスと一致させるには、3 年分の月次調整終値を使用する必要があります。

https://help.yahoo.com/kb/finance/SLN2347.html?impressions=true

ベータ

使用されるベータは株式のベータです。ベータは、S&P500 の月間価格変化に対する特定の企業の月間価格変化です。ベータ版の期間は、利用可能な場合は 3 年間 (36 か月) です。

于 2015-04-12T05:25:33.237 に答える