該計畫為股市數據情緒分析提供了一個多功能框架,使用 Backtrader 進行回溯測試,並利用 OpenAI、Llama 和 Transformers pipeline 等生成式 AI 模型進行情緒數據分析。它包含從雅虎財經下載股票數據、使用 Alpaca API 獲取股票市場新聞數據、預處理情緒數據以及使用可自訂策略運行回測的功能。整合高階語言模型增強了情緒分析過程,從而可以更細緻地了解市場情緒。
該計畫旨在提供一個簡化的工作流程來分析股市情緒和回測交易策略。它利用 Backtrader 進行回測,並利用 yfinance 來下載股票資料。
requirements.txt
中列出的依賴項克隆儲存庫:
git clone https://github.com/your-username/stock-sentiment-backtesting.git
cd stock-sentiment-backtesting
建立虛擬環境(可選但建議):
python -m venv venv
啟動虛擬環境:
在 Windows 上:
venv S cripts a ctivate
在 macOS/Linux 上:
source venv/bin/activate
安裝依賴項:
pip install -r requirements.txt
編輯main.py
中的設定參數以自訂股票、日期範圍和分析的其他設定。
STOCK_TICKER = 'AAPL'
START_DATE = '2022-03-21'
END_DATE = '2022-12-31'
SENTIMENT_DATA_PATH = 'data/stock_sentiment_data.csv'
執行主腳本執行回測:
python main.py
回測結果(包括效能指標)將顯示在控制台中。
algotrading-sentimentanalysis-genai/
├── alpaca/
│ └── client.py
├── data/
│ └── stock_sentiment_data.csv
│ └── ...
├── llms/
│ └── llama_llm.py
│ └── openai_llm.py
├── processor/
│ └── stock_data_processor.py
├── runner/
│ └── backtest_runner.py
├── sentiment_analysis/
│ └── sentiment_analysis_pipeline.py
├── strategies/
│ └── technical_only_strategy/
│ └── technical_with_sentiment_strategy/
├── output/
│ └── ...
├── .gitignore
├── README.md
├── requirements.txt
├── main.py
└── venv/
└── ...
安裝 Alpaca Python 函式庫:
pip install alpaca-trade-api
在程式碼中使用 API 金鑰:
from alpaca_trade_api import REST
alpaca_api_key = "YOUR_API_KEY"
alpaca_secret_key = "YOUR_SECRET_KEY"
rest_client = REST ( alpaca_api_key , alpaca_secret_key )
安裝官方OpenAI庫:
pip install openai
將您的 API 金鑰設定為環境變數:
export OPENAI_API_KEY= " YOUR_API_KEY "
或者,直接在程式碼中提供它:
import openai
openai . api_key = "YOUR_API_KEY"
安裝必要的庫:
pip install transformers
將您的 Hugging Face 令牌設定為環境變數:
export HF_ACCESS_TOKEN= " YOUR_TOKEN "
處理 API 金鑰和令牌時請務必小心。避免將它們暴露在公共儲存庫中或在沒有適當安全措施的情況下共用它們。
請隨意將此資訊包含在您的自述文件中,以獲取全面的設定說明。
main.py:包含執行回測和策略定義的主腳本。
data:儲存資料檔案的目錄,包括股票和情緒資料。
輸出:儲存回測結果和繪圖的目錄。
llms:包含用於情緒分析的 OpenAI 和 Llama 用戶端。
處理器:包含股票資料處理器,用於預處理股票新聞和情緒資料。
runner:包含回測運行器類,用於使用 cerebro 和 backtrader 進行回測測試。
情緒分析:包含用於新聞資料情緒分析的變壓器管道。
策略:包含純粹技術策略和帶有情緒分析策略的技術程式碼。
.gitignore:指定版本控制要忽略的檔案和目錄。
README.md:專案文件。
requirements.txt: Python 依賴項清單。
歡迎貢獻!請遵循貢獻指南。
該項目根據 MIT 許可證獲得許可 - 有關詳細信息,請參閱許可證文件。