Skip to content

Repository files navigation

Quantitative Financial Analyst

An extremely accurate and precise quantitative financial analysis system that provides comprehensive insights into equities, market trends, ETFs, and portfolio optimization. This is the most advanced quantitative analyst available, leveraging cutting-edge mathematical modeling, machine learning, and real-time market data.

πŸš€ Features

Core Analysis Capabilities

  • Comprehensive Stock Analysis: Technical indicators, risk metrics, trend analysis
  • ETF Analysis: Holdings, sector allocation, performance metrics
  • Portfolio Optimization: Sharpe ratio and minimum variance optimization
  • Market Comparison: Multi-security analysis and comparison
  • Advanced Technical Analysis: 15+ technical indicators with visualization
  • Risk Management: VaR, CVaR, drawdown analysis, and more
  • Machine Learning Models: Regression analysis, predictive modeling

Technical Indicators

  • Moving Averages (SMA, EMA)
  • MACD (Moving Average Convergence Divergence)
  • RSI (Relative Strength Index)
  • Bollinger Bands
  • Stochastic Oscillator
  • Volume indicators (OBV, Volume SMA)
  • ATR (Average True Range)
  • And many more...

Risk Metrics

  • Sharpe Ratio
  • Sortino Ratio
  • Maximum Drawdown
  • Value at Risk (VaR)
  • Conditional Value at Risk (CVaR)
  • Skewness and Kurtosis
  • Jarque-Bera test

πŸ“¦ Installation

  1. Clone the repository:
git clone <repository-url>
cd Quant-Analyst
  1. Install dependencies:
pip install -r requirements.txt
  1. Set up environment variables (optional):
# Create a .env file for API keys
echo "ALPHA_VANTAGE_API_KEY=your_key_here" > .env
echo "OPENAI_API_KEY=your_key_here" >> .env

🎯 Quick Start

Command Line Usage

from quant_analyst import QuantitativeAnalyst

# Initialize the analyst
analyst = QuantitativeAnalyst()

# Analyze a stock
symbol = "AAPL"
trend_analysis = analyst.analyze_market_trends(symbol)
print(f"Current Price: ${trend_analysis['Current_Price']:.2f}")
print(f"Trend: {trend_analysis['Trend_Analysis']['Short_Term']}")

# Generate comprehensive report
report = analyst.generate_report(symbol)
print(report)

Web Application

Run the Streamlit web application:

streamlit run streamlit_app.py

This will open an interactive web interface with all analysis capabilities.

πŸ“Š Usage Examples

1. Stock Analysis

# Get comprehensive stock data with technical indicators
data = analyst.get_stock_data("AAPL", period="2y")

# Analyze market trends
trends = analyst.analyze_market_trends("AAPL")
print(f"Short-term trend: {trends['Trend_Analysis']['Short_Term']}")
print(f"RSI: {trends['Momentum_Indicators']['RSI']:.2f}")

# Calculate risk metrics
returns = data['Returns'].dropna()
risk_metrics = analyst.calculate_risk_metrics(returns)
print(f"Sharpe Ratio: {risk_metrics['Sharpe_Ratio']:.3f}")

2. ETF Analysis

# Analyze an ETF
etf_analysis = analyst.etf_analysis("SPY")
print(f"ETF Name: {etf_analysis['ETF_Info']['Name']}")
print(f"Expense Ratio: {etf_analysis['ETF_Info']['Expense_Ratio']}")
print(f"Sharpe Ratio: {etf_analysis['Risk_Metrics']['Sharpe_Ratio']:.3f}")

3. Portfolio Optimization

# Optimize a portfolio
symbols = ["AAPL", "MSFT", "GOOGL", "AMZN", "TSLA"]
optimization = analyst.portfolio_optimization(symbols, method="sharpe")

print("Optimal Weights:")
for symbol, weight in optimization['Optimal_Weights'].items():
    print(f"{symbol}: {weight:.2%}")

print(f"Expected Return: {optimization['Expected_Return']:.2%}")
print(f"Expected Volatility: {optimization['Expected_Volatility']:.2%}")

4. Market Comparison

# Compare multiple securities
symbols = ["AAPL", "MSFT", "GOOGL"]
comparison = analyst.compare_securities(symbols)

for symbol, data in comparison.items():
    print(f"{symbol}: Sharpe={data['Sharpe_Ratio']:.3f}, Trend={data['Trend']}")

5. Advanced Technical Analysis

# Create comprehensive visualizations
figures = analyst.create_visualizations("AAPL", save_path="./charts")

# Access individual charts
price_volume_chart = figures['price_volume']
technical_chart = figures['technical_indicators']
returns_chart = figures['returns_distribution']

πŸ”§ Advanced Features

Machine Learning Integration

# Perform regression analysis
features = ['SMA_20', 'RSI', 'MACD', 'Volume_SMA']
regression_results = analyst.perform_regression_analysis(
    data, target='Returns', features=features
)

# View model performance
for model_name, results in regression_results.items():
    print(f"{model_name}: RΒ² = {results['R2']:.3f}")

Custom Analysis

# Add custom technical indicators
def custom_indicator(data):
    return data['Close'].rolling(window=10).mean()

# Integrate with existing analysis
data['Custom_Indicator'] = custom_indicator(data)

πŸ“ˆ Web Interface Features

The Streamlit web application provides:

  1. Dashboard: Overview with quick analysis
  2. Stock Analysis: Comprehensive stock analysis with charts
  3. ETF Analysis: Detailed ETF information and performance
  4. Portfolio Optimization: Interactive portfolio optimization
  5. Market Comparison: Compare multiple securities
  6. Report Generation: Generate detailed analysis reports
  7. Technical Analysis: Advanced technical indicator analysis

πŸ› οΈ Configuration

API Keys (Optional)

For enhanced functionality, you can add API keys to a .env file:

ALPHA_VANTAGE_API_KEY=your_alpha_vantage_key
OPENAI_API_KEY=your_openai_key
QUANDL_API_KEY=your_quandl_key

Customization

You can customize various parameters:

# Set risk-free rate
analyst.risk_free_rate = 0.03  # 3%

# Custom time periods
data = analyst.get_stock_data("AAPL", period="5y", interval="1wk")

# Custom technical indicators
# (See _add_technical_indicators method for customization)

πŸ“Š Data Sources

  • Primary: Yahoo Finance (yfinance)
  • Alternative: Alpha Vantage API
  • Economic Data: Quandl
  • Real-time: CCXT (cryptocurrency)

πŸ” Analysis Methods

Technical Analysis

  • Trend following indicators
  • Momentum oscillators
  • Volatility indicators
  • Volume analysis
  • Support and resistance levels

Fundamental Analysis

  • Financial ratios
  • Earnings analysis
  • Sector comparison
  • Market cap analysis

Quantitative Analysis

  • Statistical modeling
  • Machine learning algorithms
  • Risk modeling
  • Portfolio theory
  • Time series analysis

🚨 Risk Disclaimer

This tool is for educational and research purposes only. It does not constitute financial advice. Always conduct your own research and consult with qualified financial professionals before making investment decisions.

🀝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

πŸ†˜ Support

For support and questions:

  • Create an issue in the repository
  • Check the documentation
  • Review the example notebooks

πŸ”„ Updates

This quantitative analyst is continuously updated with:

  • New technical indicators
  • Enhanced machine learning models
  • Improved data sources
  • Better visualization capabilities
  • Advanced risk metrics

Built with ❀️ for quantitative finance enthusiasts

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages