Open keystonelee opened 2 years ago
您好,很高興您的提問。我依照您的程式運行並無問題,yfinance的版本0.1.67。
若您更換版本問題仍存在,那我們需要再進一步了解確認問題。 您是一開始就無法運行嗎? 還是您是不斷的嘗試最後忽然都不能使用了。因為yfinance有限制請求次數。
应该是从一开始就不能用
您好,更換為0.1.67也仍然不能使用的話,能請您將錯誤訊息全部貼上讓我看一下嗎,純文字也可以,看看有什麼線索。
运行了几遍都是这样。
这是cmd运行后报错后截图
Hi 您好,cmd的訊息清楚的多,Proxy Error這個錯誤訊息大多數發生在您的請求遭到對方api關閉。
問題可能跟您的網路有關係,您上網正常嗎? 我不太確定yfinance是不是會抵擋部分ip的請求,因為我個人僅有因為太頻繁使用而收到該錯誤過,並沒有因為其他網路原因被拒絕請求。
抑或是您的網路可能是公共網路嗎? 您的ip已經達到請求的限制,也會導致此問題。
还是没有解决。但是被我找到一个好用的套件efinance,https://github.com/Micro-sheep/efinance,与你分享。
很感謝您的分享~其實我們自己工作老實說比較少用免費的資料源,我們都是使用購買的資料源或是券商的資料源,如永豐的API Shioaji,或是IB、富途牛牛,品質都不錯,也不太會有什麼Bug。
只是說礙於很多人可能沒有某些帳戶,介紹這些可能會導致讀者沒辦法進行,因此採用免費的資料源來介紹,當然您嘗試的efinancne感覺也是一個很棒的方向,我最近會去試玩看看,感恩您的分享~
你好,能否帮忙看一下这个出错怎么解决,谢谢
Hi 您好,根據錯誤,我推測您的dataframe的index並非日期格式。 您可以print(df.index)看一下您的index是日期還是0-N的格式。
嘗試將下面這一段程式解開,並且您將日期換成您的dataframe的日期欄位。
df.set_index('[日期],inplace=True')
原来是0-n格式,df.set_index(['日期'],inplace=True)后才是日期格式
我把注释解开了,运行后显示AttributeError: 'str' object has no attribute 'strftime'
Hi,應該是您的日期type是str而非是datetime。 嘗試pd.to_datetime() 函式將您的日期欄位先改為datetime格式後再進行set_index()。
大神再请教。回到家后换了台电脑,想试一下你的解决方案。结果如图,kernel process exited。卸载重装都是如此,好崩溃.....
Hi,您運行時他右下角有跳出要請您安裝的視窗嗎? 有的話請點擊安裝,若您已經點過了仍然有此問題,可以參考這一篇。 https://stackoverflow.com/questions/63146155/python-jupyter-ipynb-vscode
這篇跟您問題應該類似,對方提出的解法是conda install ipykernel (如果不是Anaconda就pip install)。 請嘗試看看這篇提供的解決方案~
對了,請記得做了嘗試之後右邊的視窗要點擊重啟才會生效,或是整個關掉也可以。
整个安装流程都没问题。你这篇我也google到了,ipykernel在虚拟环境下也安装了
那您點擊下圖這個東西,看看錯誤訊息是什麼,再貼上來我們一起研究研究。
点了,没有任何讯息:( But,刚在公司跑了更改后的代码,成功!感谢:)
再请教。导出为pdf时失败,该怎么解决。
供您參考下
如果pdf是您所期待的,或許直接使用.ipynb運行,會省去很多步驟。
可用,感谢。
您好,我想這跟您的data有關係,您數據的部分來源是什麼呢?
刚才的问题解决了:) 可是最后一步出错:(
您的問題應該跟下面這一篇一樣,資料不具備量而繪圖失敗。 https://community.backtrader.com/topic/689/plotting-error-axis-limits-cannot-be-nan-or-inf/2
嘗試設置量為False。
cerebro.plot(volume=False)
我也刚goole到这个方案,搞定!谢谢
你好,麻烦帮忙看看,怎么没有出现书中图4.3.8的回测结果,谢谢
回測最佳參數的案例的重點在於上面的設置。我能夠看看上方的設置嗎?
strats = cerebro.optstrategy( TestStrategy, fast_period = range(3, 7), slow_period = range(40, 70, 10))
我是按照书上一步步来的。前面5ma穿越60ma画k线图还正常的,能显示出来。
Hi,您可以參考這一支程式~ https://github.com/arleigh418/python-and-Taiwan-stock-market/blob/main/Trading/tech1_ma_strategy.py
def stop() 是屬於框架的一部分,而非是寫在外面,是寫在框架Class中的。
成功了!感谢。
你好。已一步步跟着书敲了一遍代码。对于python的一些难点,在书中都有着墨讲解,颇有收获。我的方向是期货的自动化交易,请问有没有相关的资源可以推荐?谢谢
Hi,對於自動化程式交易,有兩條路我覺得您可以考慮方向:
利用backtrader支援的Live Trading,但他支援的是Oanda、IB這幾家,因此您必須要有這些帳戶。可以考慮看這一篇的影片教學,我當初剛接觸時照著他做能夠做出來:https://www.youtube.com/watch?v=ZOohpUDdqKQ 另外官方也有說明: https://www.backtrader.com/docu/live/ib/ib/
自己撰寫條件,串接券商的下單API,像我們這裡就是以永豐、群益API為較有名的選項,就我所知富途牛牛是一個不錯的選項,但其他大陸的券商api我就不是特別熟悉,您可能要接洽券商。如果自己寫條件,資金判斷、部位判斷、訂單成功與否就是必須要自己處理,而沒有框架會幫忙計算。
如果是期貨回測,則是兩個重點:
你好。最近在研究书里提到的multicharts,简直太好用了,之前用python头都大。可否请教一下,在策略或者信号的编写,怎样引用不同周期的指标。比如,当下打开的是5分钟k线图,要引用比如macd的周线快线上穿慢线,函数该如何写法呢
是的,Multicharts是很方便的工具,而且下單與部位控管就不需要再去操心。 如果我沒誤會您的意思的話,您可以嘗試同一張圖開兩個data,上圖是5分K,下圖是N分K(要算macd周線那個)。 然後用data1 (上圖5分K)、data2 (下圖N分K)去操作。
这好像是个思路。可是没有什么函数可以直接引用吗?对这个软件的应用我还在摸索。按你这个方法,如果写的这个策略可以扫描所有其他的品种吗?
---原始邮件--- 发件人: "Arleigh @.> 发送时间: 2021年12月22日(周三) 晚上7:47 收件人: @.>; 抄送: @.>;"State @.>; 主题: Re: [arleigh418/python-and-Taiwan-stock-market] yfinance出错 (Issue #8)
是的,Multicharts是很方便的工具,而且下單與部位控管就不需要再去操心。 如果我沒誤會您的意思的話,您可以嘗試同一張圖開兩個data,上圖是5分K,下圖是N分K(要算macd周線那個)。 然後用data1 (上圖5分K)、data2 (下圖N分K)去操作。
— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you modified the open/close state.Message ID: @.***>
掃描所有品種老實說我並沒有試過。 我們自己Multicharts上運行的策略多以單只或者是雙只的配對交易(profolio trader是很好用的東西,建議可以去玩玩看)。 況且先前我們許多策略都有綁量、綁漲幅,而每一只商品的特性不同,量與漲幅需要量身測試。
真的太麻煩的東西,我們就用python來做,尤其是研究性質的東西。
你好,我是大陆的读者。用yfinance时出现如下错误,试过变更版本没有解决,python亦是3.7.6的版本。不知如何解决,请指教,谢谢。