Metadata-Version: 2.4
Name: src_trading
Version: 0.1.0
Summary: Una librería simple y modular para realizar backtesting de estrategias de trading en Python.
Author-email: José Pablo Monsivais Rivera <pmonsivaisrivera@gmail.com>
Keywords: trading,backtesting,finance,estrategias,cuantitativo
Classifier: Programming Language :: Python :: 3
Classifier: Operating System :: OS Independent
Classifier: Development Status :: 3 - Alpha
Requires-Python: >=3.8
Description-Content-Type: text/markdown
Requires-Dist: pandas>=1.4.0
Requires-Dist: numpy>=1.22.0
Requires-Dist: yfinance>=0.2.0
Requires-Dist: matplotlib>=3.5.0
Requires-Dist: python-ta>=0.3.0

🐍 Trading Backtester Lib

Una librería simple y modular en Python diseñada para facilitar el backtesting rápido de diversas estrategias de trading con datos de mercados reales.

✨ Características

Estructura Modular: Fácil de extender con nuevas estrategias personalizadas (clase BaseStrategy).

Datos Reales: Utiliza yfinance para obtener datos de acciones, criptomonedas e índices.

Métricas de Rendimiento: Calcula Retorno Total, Drawdown Máximo, y el Ratio de Sharpe (ajustado al riesgo).

Estrategias Incluidas: Cruce de Medias Móviles, Reversión a la Media con RSI, SuperTrend, y más.

🚀 Instalación

Asegúrate de tener Python 3.8 o superior.

# 1. Instalar las dependencias de la librería
!pip install pandas numpy yfinance matplotlib python-ta

# 2. Descargar el archivo src_trading.py y el ejemplo de uso



🛠️ Uso Básico

Una vez instaladas las dependencias y con el archivo src_trading.py en tu directorio, puedes importar y ejecutar un backtest fácilmente:

from src_trading import EMA_Cross, Backtest

# 1. Definir la estrategia
mi_estrategia = EMA_Cross(short=10, long=30)

# 2. Inicializar el backtest
# Ticker: AAPL, Intervalo: 1 día, Tasa Libre de Riesgo: 3% anual
backtest_runner = Backtest(
    strategy=mi_estrategia, 
    ticker='AAPL', 
    timeframe='1d', 
    start='2021-01-01',
    risk_free_rate=0.03 # Usado para el Ratio de Sharpe
)

# 3. Ejecutar y obtener resultados
backtest_runner.run()

# 4. (Opcional) Graficar el rendimiento vs. Buy & Hold
# backtest_runner.plot() 

