創建自己的每日 OHLC 數據
鑑於可以從大多數經紀商處下載小時柱,通常帶有 UTC 時間戳,因此可以創建自己的每日柱。我正在考慮這樣做,並想听聽關於它是否可取的意見。具體來說,我想採用 UTC 時間戳,將其解析為倫敦和紐約時間,同時考慮夏季月份的夏令時,並創建從亞洲時段開始到結束的每日柱線紐約時段,有效地在紐約時間周中從下午 5 點到下午 5 點執行酒吧,並從倫敦時間週日晚上 10 點開始,為周一的每日酒吧。
我已經實現了與您想要做的類似的事情。如何實施在很大程度上取決於您將如何處理 OHLC 日常數據以及您正在處理的數據量。
我能看到的最可行的實現是:
1. 微軟 Excel
如果你正在做一些電子表格分析或類似的事情,並且你每天只聚合這些數據一次,你可以在 MS Excel 上輕鬆地做到這一點,這可能是實現目標的最簡單、最輕鬆的途徑。(不完全確定如何在這里處理時區)
2. Python Pandas
另一個非常容易實現的解決方案是使用 Python pandas 庫(https://pandas.pydata.org/ - 順便說一句,我非常喜歡它),並使用它的聚合函式。它已經內置了“OHLC”聚合(您可能需要稍微調整一下以適應時區 - 但它絕對是可行的,Python 有一個名為“pytz”的庫來處理時區)。
使用 pandas 庫的優點是速度超級快。因此,如果您正在處理大量數據並且 MS Excel 性能不夠,我會建議這條路線。
3. 通用編碼
這實際上是我個人選擇的路線,我之前確實用 pandas 實現過,但是由於我在直播流上做了很多“OHLC”聚合,性能不是很好,因為它總是重新聚合整個數據(也許在Pandas中有更好的方法來實現這一點,但我不知道)。
因此,為了避免一直重新聚合數據,我做了一些優化的程式碼來聚合這些數據,並根據我的需要完全定制它。
這比其他解決方案需要更多的工作量,如果您確實需要性能並且使用實時“OHLC”聚合(例如更新每個刻度數據的 OHLC 聚合),我只會推薦它。
至於時區,我用 Python 編碼並使用了“pytz”庫。
4.忍者交易者
我不知道您如何處理“OHLC”數據,但如果您將其用於視覺化目的,我建議您查看 NinjaTrader。您可以在那裡進行一些自定義聚合。
BL:使用開源工具,例如 Plotly:https ://plot.ly/python/ohlc-charts/
摘要:我認為將問題與數據準備和實際繪圖分開很重要。我會說不建議您自己完成所有繪圖工作,除非您只是對機制和問題本身感興趣。如果你已經準備好數據,像 Plotly 這樣的庫會為你處理剩下的事情,同樣使用 pandas: https ://plot.ly/python/ohlc-charts/