이 프로젝트는 주식 시장 데이터에 대한 감정 분석을 위한 다목적 프레임워크를 제공하고 Backtrader로 백테스트를 수행하며 감정 데이터 분석을 위해 OpenAI, Llama 및 Transformers 파이프라인과 같은 생성 AI 모델을 활용합니다. 여기에는 Yahoo Finance에서 주식 데이터를 다운로드하고, 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 키와 토큰을 처리할 때는 주의하세요. 적절한 보안 조치 없이 공개 저장소에 노출하거나 공유하지 마세요.
포괄적인 설정 지침을 보려면 README에 이 정보를 포함시키십시오.
main.py: 백테스트 및 전략 정의 실행을 위한 기본 스크립트가 포함되어 있습니다.
data: 주식 및 감정 데이터를 포함한 데이터 파일을 저장하기 위한 디렉터리입니다.
출력: 백테스트 결과 및 플롯을 저장하기 위한 디렉터리입니다.
llms: 감정 분석을 위한 OpenAI 및 Llama 클라이언트가 포함되어 있습니다.
프로세서: 주식 뉴스 및 감정 데이터를 전처리하기 위한 주식 데이터 프로세서가 포함되어 있습니다.
러너: cerebro 및 backtrader를 사용한 백테스팅을 위한 백테스트 러너 클래스가 포함되어 있습니다.
감정_분석: 뉴스 데이터에 대한 감정 분석을 위한 변환기 파이프라인을 포함합니다.
전략: 기술 전용 전략 및 기술 기반 감정 분석 전략에 대한 코드가 포함되어 있습니다.
.gitignore: 버전 제어에서 무시할 파일 및 디렉터리를 지정합니다.
README.md: 프로젝트 문서.
요구 사항.txt: Python 종속성 목록입니다.
기여를 환영합니다! 기여 가이드라인을 따라주세요.
이 프로젝트는 MIT 라이선스에 따라 라이선스가 부여됩니다. 자세한 내용은 LICENSE 파일을 참조하세요.