【发布时间】:2016-04-20 08:36:29
【问题描述】:
我有标准普尔 500 指数的每日价格和国债收益率。最终目标是确定美国国债在标准普尔修正期间的图形和数学表现如何。修正是从最后一个峰值下降一些 %,其中 % 是一个可变参数。
import urllib2, pandas as pd, numpy as np, matplotlib.pyplot as plt, scipy as sp
correction = 0.1 # define % decline from peak to constitute market correction
sp_data = urllib2.urlopen('http://real-chart.finance.yahoo.com/table.csv?s=%5EGSPC&a=00&b=3&c=1950&d=00&e=14&f=2016&g=d&ignore=.csv')
df1 = pd.read_csv(sp_data)
df1 = df1[['Date','Close']]
df1 = df1.rename(columns = {'Close':'S&P_500'})
t_bill_data = urllib2.urlopen('http://real-chart.finance.yahoo.com/table.csv?s=%5ETNX&a=00&b=2&c=1962&d=00&e=14&f=2016&g=d&ignore=.csv')
df2 = pd.read_csv(t_bill_data)
df2 = df2[['Date','Close']]
df2 = df2.rename(columns = {'Close':'T_Bill'})
df3 = pd.merge(df1, df2, on='Date', how='outer')
df3['Date'] = pd.to_datetime(df3['Date'], format='%Y-%m-%d')
df3 = df3.set_index('Date')
df3.describe()
df3.plot(kind='line',title='S&P 500 vs. 10 yr T-Bill',subplots=True)
如何识别 df 并将其细分为不同的 S&P 修正周期? (允许图表和汇总统计数据关注独特的时间段。所以我可以确定标准普尔修正和国债之间的相关性。)Scipy 有tools 用于identifying 全局或局部最小值和最大值——是否有pythonic 方法调整这些以识别修正期?
【问题讨论】:
标签: python numpy pandas matplotlib scipy