Proyek ini menyediakan kerangka kerja serbaguna untuk analisis sentimen pada data pasar saham, melakukan pengujian ulang dengan Backtrader, dan memanfaatkan model AI generatif seperti saluran OpenAI, Llama, dan Transformers untuk analisis data sentimen. Ini mencakup fungsionalitas untuk mengunduh data saham dari Yahoo Finance, mengambil data berita pasar saham menggunakan API Alpaca, memproses data sentimen sebelumnya, dan menjalankan pengujian ulang dengan strategi yang dapat disesuaikan. Mengintegrasikan model bahasa tingkat lanjut akan meningkatkan proses analisis sentimen, memungkinkan pemahaman yang lebih mendalam tentang sentimen pasar.
Proyek ini bertujuan untuk menyediakan alur kerja yang efisien untuk menganalisis sentimen pasar saham dan menguji ulang strategi perdagangan. Ini memanfaatkan Backtrader untuk backtesting dan yfinance untuk mengunduh data saham.
requirements.txt
Kloning repositori:
git clone https://github.com/your-username/stock-sentiment-backtesting.git
cd stock-sentiment-backtesting
Buat lingkungan virtual (opsional namun disarankan):
python -m venv venv
Aktifkan lingkungan virtual:
Di Windows:
venv S cripts a ctivate
Di macOS/Linux:
source venv/bin/activate
Instal dependensi:
pip install -r requirements.txt
Edit parameter konfigurasi di main.py
untuk menyesuaikan stok, rentang tanggal, dan pengaturan lain untuk analisis Anda.
STOCK_TICKER = 'AAPL'
START_DATE = '2022-03-21'
END_DATE = '2022-12-31'
SENTIMENT_DATA_PATH = 'data/stock_sentiment_data.csv'
Jalankan skrip utama untuk menjalankan backtest:
python main.py
Hasil backtest, termasuk metrik kinerja, akan ditampilkan di konsol.
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/
└── ...
Instal perpustakaan Alpaca Python:
pip install alpaca-trade-api
Gunakan kunci API dalam kode Anda:
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 )
Instal perpustakaan resmi OpenAI:
pip install openai
Tetapkan kunci API Anda sebagai variabel lingkungan:
export OPENAI_API_KEY= " YOUR_API_KEY "
Alternatifnya, berikan langsung di kode Anda:
import openai
openai . api_key = "YOUR_API_KEY"
Instal perpustakaan yang diperlukan:
pip install transformers
Tetapkan token Wajah Pelukan Anda sebagai variabel lingkungan:
export HF_ACCESS_TOKEN= " YOUR_TOKEN "
Berhati-hatilah saat menangani kunci dan token API. Hindari memaparkannya di repositori publik atau membagikannya tanpa tindakan keamanan yang tepat.
Jangan ragu untuk menyertakan informasi ini dalam README Anda untuk instruksi pengaturan yang komprehensif.
main.py: Berisi skrip utama untuk menjalankan backtests dan definisi strategi.
data: Direktori untuk menyimpan file data, termasuk data stok dan sentimen.
output : Direktori untuk menyimpan hasil dan plot backtest.
llms: Berisi klien OpenAI dan Llama untuk analisis sentimen.
processor: Berisi pemroses data saham untuk pra-pemrosesan berita saham dan data sentimen.
runner: Berisi kelas backtest runner untuk backtesting menggunakan cerebro dan backtrader.
sentimen_analisis: Berisi pipa transformator untuk analisis sentimen pada data berita.
strategi: Berisi kode untuk strategi teknis saja dan teknis dengan strategi analisis sentimen.
.gitignore: Menentukan file dan direktori yang akan diabaikan oleh kontrol versi.
README.md: Dokumentasi proyek.
persyaratan.txt: Daftar dependensi Python.
Kontribusi dipersilakan! Harap ikuti Pedoman Kontribusi.
Proyek ini dilisensikan di bawah Lisensi MIT - lihat file LISENSI untuk detailnya.