Skip to content

Latest commit

 

History

History
109 lines (76 loc) · 4.08 KB

README.md

File metadata and controls

109 lines (76 loc) · 4.08 KB

open-aladdin

Join our Discord Subscribe on YouTube Connect on LinkedIn Follow on X.com

open-aladdin is an open-source risk analysis and portfolio management system inspired by BlackRock's Aladdin platform. It aims to provide comprehensive risk assessment and management tools for stocks, securities, and other market instruments.

Table of Contents

Features

  • Comprehensive Risk Analysis: Assess risk for a wide range of financial instruments including stocks, bonds, derivatives, and more.
  • Real-Time Data Processing: Continuously update risk assessments based on market changes.
  • Advanced Machine Learning Models: Utilize state-of-the-art ML algorithms for predictive analytics and risk forecasting.
  • Customizable Risk Metrics: Calculate and track various risk measures including VaR, Expected Shortfall, and custom metrics.
  • Portfolio Optimization: Tools for constructing and rebalancing portfolios based on risk-return profiles.
  • Interactive Dashboards: Visualize risk data and portfolio performance through customizable dashboards.
  • API Integration: Easy integration with external data sources and other financial systems.

Installation

To install open-aladdin, run the following command:

pip install open-aladdin

Usage

Example

from open_aladdin.main import fetch_stock_data, AdvancedRealTimeRiskAssessment
import time

if __name__ == "__main__":
    # Example usage
    # from data_integration import fetch_stock_data

    tickers = [
        "AAPL",
        "GOOGL",
        "MSFT",
        "AMZN",
        "^GSPC",
    ]  # Including S&P 500 for market returns
    historical_data = {
        ticker: fetch_stock_data(ticker) for ticker in tickers
    }

    risk_assessor = AdvancedRealTimeRiskAssessment(historical_data)
    risk_assessor.start_continuous_training()

    try:
        # Run for a while to allow some training iterations
        time.sleep(60)

        # Perform risk assessment
        risk_results = risk_assessor.run_risk_assessment(
            forecast_horizon=4
        )  # 1-year forecast

        # Output results
        risk_assessor.output_results(risk_results, "json")
        risk_assessor.output_results(risk_results, "csv")

        # Print some results
        for ticker, measures in risk_results.items():
            print(f"\nRisk Assessment for {ticker}:")
            for measure, value in measures.items():
                if isinstance(value, list):
                    print(
                        f"{measure}: [showing first 5 values] {value[:5]}"
                    )
                else:
                    print(f"{measure}: {value:.4f}")

    finally:
        # Ensure we stop the continuous training when done
        risk_assessor.stop_continuous_training()

For more detailed usage examples and API documentation, please visit our User Guide.

Contributing

We welcome contributions from the community! If you'd like to contribute to open-aladdin, please follow these steps:

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

Please read our Contributing Guidelines for more details on our code of conduct, and the process for submitting pull requests.

License