0
我已经搜索了一下stackoverflow,并且我没有找到解决方案,这可能是由于数据框对我而言还不是很清楚。我正在做一个计算布林带的练习。我已经完成了一个单一的股票,但我想让它适用于任何数量的项目。目前,我有这样的:为数据集集执行lamba函数
def movingAverage(symbols, dt_start, dt_end, lookback):
// Symbols = ['AAPL', 'GOOG']
ldt_timestamps = du.getNYSEdays(dt_start, dt_end, DT_TIME_OF_DAY)
c_dataobj = da.DataAccess('Yahoo')
ls_keys = ['close']
ldf_data = c_dataobj.get_data(ldt_timestamps, symbols, ls_keys)
d_data = dict(zip(ls_keys, ldf_data))
closeData = d_data['close']
d_data['ma'] = d_data['close'].copy() // calculates the Moving Average for ALL stocks
d_data['std'] = d_data['close'].copy()
d_data['bollinger'] = d_data['close'].copy()
d_data['ma'] = pandas.rolling_mean(d_data['close'], lookback, min_periods=lookback)
d_data['std'] = pandas.rolling_std(d_data['close'], lookback, min_periods=lookback)
我计算整个帧的ma
(均线)和std
(滚动标准偏差),而不是通过符号做一个循环,而自豪所以我想要做的知道的是(伪代码):
for all the symbols
fill in d_data['bollinger'] with
(d_data['close'] - d_data['ma'])/d_data['std']
我只是觉得我能做到这一点,而不做一个for循环到每个符号由符号索引索引close
和data
计算这一点。
请让我知道,如果问题可以改善。
预先感谢您。
d_data['bollinger'] = (d_data['close'] - d_data['ma'])/d_data['std']
谢谢大家,看了题目,下次我会需要更多的时间来研究: