如何解决如何单独加速/优化 for 循环?
如何显着加速 for
循环?
示例:
获取数据
import yfinance as yf
data = yf.download("AAPL",start="1978-01-01",end="2021-03-13")
data['smav'] = data.Close.rolling(window=21).mean()
data['lmav'] = data.Close.rolling(window=55).mean()
data = data.dropna()
data = data.reset_index(drop=False)
运行 For
循环
start = time.time()
def signals(data):
orders = []
for i in range(1,len(data)-1):
if data.smav[i-1] < data.lmav[i-1] and data.smav[i] > data.lmav[i]:
orders.append({'time':data.Date[i],'signal': 1,'price': round(data.Open[i],3)})
if data.smav[i-1] > data.lmav[i-1] and data.smav[i] < data.lmav[i]:
orders.append({'time':data.Date[i],'signal': -1,'price': round(data.Close[i],3)})
return orders
signals(data)
print(f'Time: {time.time() - start}')
附言我也尝试使用 Pool
中的 multiprocessing
,但执行时间的差异并不显着。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。