亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在 Python 中使用 yahoo_fin 計算移動平均線?

如何在 Python 中使用 yahoo_fin 計算移動平均線?

慕森卡 2022-10-18 14:37:35
我正在嘗試制作一個程序,當股票價格超過移動平均線并且我正在使用該庫時通過電子郵件發送警報yahoo_fin(這里是文檔)我正在嘗試從中獲取移動平均數據,yahoo_fin.stock_info.get_stats('a')但出現以下錯誤:File "lib\site-packages\yahoo_fin\stock_info.py", line 241, in get_stats  table.columns = ["Attribute" , "Value"]  File "lib\site-packages\pandas\core\generic.py", line 5287, in __setattr__  return object.__setattr__(self, name, value)  File "pandas\_libs\properties.pyx", line 67, in pandas._libs.properties.AxisProperty.__set__  File "lib\site-packages\pandas\core\generic.py", line 661, in _set_axis  self._data.set_axis(axis, labels)  File "lib\site-packages\pandas\core\internals\managers.py", line 178, in set_axis  f"Length mismatch: Expected axis has {old_len} elements, new "  ValueError: Length mismatch: Expected axis has 9 elements, new values have 2 elements解決此問題的任何幫助都會很棒!如果您不知道如何使此特定功能起作用,我嘗試過的另一種似乎可行的替代方法是使用 method yahoo_fin.stock_info.get_data('a'),但我需要幫助才能知道如何根據這些數據計算移動平均值。
查看完整描述

2 回答

?
翻閱古今

TA貢獻1780條經驗 獲得超5個贊

get_data您可以使用以下代碼計算 50 天移動平均線:


import yahoo_fin

from yahoo_fin import stock_info

yahoo_fin.stock_info.get_data('a', interval='1d')['close'][-50:].mean()

如果你想在一段時間內計算它:


df = yahoo_fin.stock_info.get_data('a', interval='1d')

moving_average = [df['close'][i-50:i].mean() for i in range(50, df.shape[0]+1)]


查看完整回答
反對 回復 2022-10-18
?
瀟瀟雨雨

TA貢獻1833條經驗 獲得超4個贊

我為此推送了一個補丁 - 如果您將 yahoo_fin 的版本升級到 0.8.5,現在應該已修復。


from yahoo_fin import stock info as si

si.get_stats("a")

由此,您可以獲得 50 天和 200 天移動平均線。但是,正如@user7440787 的回復中提到的,您可以使用 get_data 方法來拉取價格歷史記錄,然后計算您需要的任何窗口大小的移動平均線(10 天、100 天、150 天等)。


查看完整回答
反對 回復 2022-10-18
  • 2 回答
  • 0 關注
  • 90 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號