登录
  • 人们都希望被别人需要 却往往事与愿违
  • 要在自己的代码里找出一个 bug 是十分困难的。而当你认为你的代码没有错误时, 那就更难了 @《代码大全》Steve McConnel

使用 Python 通过 K 线计算技术指标,并用 LLM 预测趋势

瞎搞 Benny 小土豆 3682 次浏览 3492 字 3 个评论
文章目录 [显示]

经常混币圈、股票和外汇的朋友们都知道有一个东西叫 K 线,大概长这样 使用Python 通过K线计算技术指标,并用 LLM 预测趋势

同时你也可以选择添加更多的图表,如布林线、MACD、RSI 等,用这些技术指标来辅助决策。

使用Python 通过K线计算技术指标,并用 LLM 预测趋势

这些技术参数很有用,如果能把一段时间的结果交给 LLM 去分析,应该比凭着感觉瞎买更靠谱吧!

那这些技术参数是怎么来的呢……?

去花钱买!这个世界上还有什么是钞能力无法解决的事情吗?

使用Python 通过K线计算技术指标,并用 LLM 预测趋势

https://taapi.io/ 已经有人做好了!有股票 也有加密货币的数据。就是…… 免费版频率限制有些严重,想要获取多点数据就等几个小时吧。一下子升级个 Pro 要花 14.99 欧元,在 PoC 阶段好像也不太值得……

实际上,这些技术参数,全部都是使用 K 线数据,由客户端计算出来的。K 线数据很容易获取,很多交易所都提供 API,但是计算这些参数需要比较强的数学知识😅

还好已经有人写好了相关的库,虽然是 C/C++ 写的,但是不怕啦早就有人写好了 Python 的 wrapper

TA-Lib - Technical Analysis Library

我们需要这个东西来计算数据,这个库支持 200 多个技术指标,包括 RSI,MACD

安装方式可以参考官方文档

获取 K 线数据

以币安的合约数据为例,非常简单

  1. pip install binance-futures-connector
  2. from binance.um_futures import UMFutures
  3. um_client = UMFutures()
  4. candles=um_client.klines(symbol=‘BTCUSDT’, interval=‘1m’)

这样我们就获取到了 1 分钟时间间隔的数据

转换成 pandas 的DataFrame 方便后续处理

  1. pd.DataFrame(candles)

计算布林线

布林线使用收盘价格进行计算,而且需要多组数据才可以计算出来

  1. upperband, middleband, lowerband = talib.BBANDS(self.df["close"], timeperiod=20, nbdevup=2, nbdevdn=2, matype=0)

计算 RSI

同样也是收盘价

  1. rsi6 = talib.RSI(self.df["close"], timeperiod=6)
  2. rsi12 = talib.RSI(self.df["close"], timeperiod=12)
  3. rsi24 = talib.RSI(self.df["close"], timeperiod=24)

MACD

收盘价

  1. dif, dea, macd = talib.MACD(self.df["close"], fastperiod=12, slowperiod=26, signalperiod=9)

MA

包括 SMA 和 EMA

  1. sma7 = talib.SMA(self.df["close"], timeperiod=7)
  2. sma25 = talib.SMA(self.df["close"], timeperiod=25)
  3. sma99 = talib.SMA(self.df["close"], timeperiod=99)
  4.  
  5. ema7 = talib.EMA(self.df["close"], timeperiod=7)
  6. ema25 = talib.EMA(self.df["close"], timeperiod=25)
  7. ema99 = talib.EMA(self.df["close"], timeperiod=99)

转换数据为 json

LLM 更适合处理 json 数据,pandas 就很方便啦

  1. self.df.to_json(orient="records", date_format="epoch", date_unit="s")

调用 LLM 接口

有了数据之后就可以把他们导出成 json,然后调用 LLM 进行处理。

这里需要找一个可用的 LLM,比如 Mistral AI、OpenAI 、Gemini 或者 Claude。由于国内注册比较麻烦,而且风控很严格,建议大家使用「头顶冒火」的 API 接口

使用什么模型因人而异,一次数据量比较大,gpt-4o 可能是比较好的选择,Claude Opus 和 o1-preview 比较贵,但是也可以考虑,头顶冒火网站也都有的

然后要做的事情就是写提示词,让 AI 分析结果了!🧐

很麻烦是不是…… 不要怕,我已经写好并且开源了。使用方式详见下一页!⬇️⬇️⬇️ 部分 RSS 阅读器可能无法显示下一页的内容,请点击链接打开网站阅读


文章版权归原作者所有丨本站默认采用 CC-BY-NC-SA 4.0 协议进行授权 |
转载必须包含本声明,并以超链接形式注明原作者和本文原始地址:
https://dmesg.app/candlestick-llm.html
喜欢 (25)
分享:-)
关于作者:
If you have any further questions, feel free to contact me in English or Chinese.
发表我的评论
取消评论

                     

去你妹的实名制!

  • 昵称 (必填)
  • 邮箱 (必填,不要邮件提醒可以随便写)
  • 网址 (选填)
(3) 个小伙伴在吐槽
  1. 期待 博主增加个实盘或模拟盘功能
    cheng2025-04-08 22:52 回复
  2. 不错,再出一版分析 A 股的?
    蜜豆 2024-12-12 16:59 回复
    • 原理是一样的,只要能拿到 K 线数据就好,接口都预留好了,欢迎提个 PR
      Benny 小土豆 2024-12-12 17:06 回复
您直接访问了本站! 莫非您记住了我的域名. 厉害~ 我倍感荣幸啊 嘿嘿