使用 Ollama 完成股票技术指标的评价
本文介绍了一个结合 Python 数据分析库、本地大模型(Ollama)以及 Streamlit 可视化的股票分析系统。该系统能够实时获取股票数据,计算关键技术指标,并利用 Llama 3 模型对市场行情进行自然语言解读。
核心功能点
- 数据获取:使用
yfinance获取 Apple (AAPL) 和道琼斯指数 (DJI) 的历史行情。 - 技术指标计算:计算滚动平均值、动量、RSI、布林带等指标。
- AI 分析:通过 Ollama 调用 Llama 3 模型,根据计算出的指标生成市场趋势的自然语言洞察。
- 可视化界面:使用 Streamlit 构建交互式前端,展示实时数据和 AI 分析结果。
环境准备
在开始之前,请确保已安装以下 Python 包:
import yfinance as yf
import pandas as pd
import schedule
import time
import ollama
from datetime import datetime, timedelta
同时,确保本地已运行 Ollama 服务并拉取了 llama3 模型:
ollama pull llama3
数据获取与初始化
首先,获取昨日分钟级历史数据作为模拟源。这里以苹果股票和道琼斯指数为例。
stock = yf.Ticker("AAPL")
dow_jones = yf.Ticker("^DJI")
data = stock.history(period="1d", interval="1m")
dow_data = dow_jones.history(period="1d", interval="1m")
print(data.head())
全局变量定义
为了跟踪滚动窗口内的数据和每日市场状态,我们定义以下全局变量:
rolling_window = pd.DataFrame()
dow_rolling_window = pd.DataFrame()
# 用于跟踪每日市场情况
daily_high = float('-inf')
daily_low = float('inf')
buying_momentum = 0
selling_momentum = 0
rolling_window和dow_rolling_window:存储最近的数据点用于计算移动平均。


