Skip to content

FinanceLake/financelake

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

71 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 


FinanceLake

PRs Welcome unit-test Join us on Discord


What is FinanceLake?

FinanceLake is an open-source financial data platform that ingests, analyzes, and visualizes market and financial data β€” similar in ambition to platforms like Bloomberg Terminal, but powered by open technologies.

Whether you're a quant, data engineer, open-source maintainer, or trading enthusiast, FinanceLake offers a scalable and intelligent data stack to support real-time insights, financial research, and data-driven decision-making.


πŸš€ Features

  • πŸ“₯ Data Ingestion
    Real-time and batch ingestion pipelines using Apache Kafka, Apache NiFi, and API connectors (e.g., Yahoo Finance, Alpha Vantage, Quandl, etc.)

  • βš™οΈ Big Data Processing
    Built on top of Apache Spark, Hadoop, and Delta Lake for scalable and resilient analytics.

  • πŸ“ˆ Advanced Analytics
    Analyze financial trends, compute indicators, perform backtesting, and build custom financial metrics.

  • πŸ“Š Interactive Visualization
    Visual dashboards powered by Grafana, Apache Superset, or Streamlit.

  • 🧠 Query Engine
    Ask questions and get answers using a simple SQL-like interface or a natural language layer (NLQ) with optional LLM integration.

  • πŸ“‘ Data APIs
    REST & GraphQL APIs to expose insights and dashboards to downstream systems or external apps.


πŸ’‘ Use Cases

  • Market trend monitoring for trading teams
  • Quantitative research and strategy testing
  • Portfolio performance visualization
  • Risk metrics computation
  • Real-time financial data streaming and alerting

🎯 What can be accomplished with FinanceLake?

FinanceLake empowers users to unlock value from vast streams of financial and economic data. Here’s what you can achieve:

🧠 Derive Actionable Insights

  • Track price movements, volatility, and trends across global markets
  • Identify leading/lagging indicators to guide investment decisions
  • Measure performance against custom benchmarks or indices

πŸ“ˆ Build & Test Trading Strategies

  • Backtest strategies using historical tick/ohlcv data
  • Generate buy/sell signals using technical indicators (RSI, MACD, EMA…)
  • Evaluate drawdown, Sharpe ratio, beta, and other risk metrics

πŸ“Š Visualize and Monitor in Real Time

  • Build dynamic dashboards to monitor positions, portfolios, and KPIs
  • Stream live feeds for asset prices, news sentiment, or macro indicators
  • Trigger alerts on thresholds or anomalies (via webhook, email, Slack)

πŸ”Ž Query Like a Pro

  • Explore structured and unstructured financial data using SQL or natural language
  • Query fundamentals, earnings, economic events, ESG scores, and more
  • Slice and dice data per sector, geography, or custom segments

πŸ—οΈ Build Custom Financial Applications

  • Create custom dashboards for hedge funds, fintech apps, or research teams
  • Feed data into machine learning pipelines (e.g., predictive models)
  • Connect external systems (trading bots, ML models, BI tools) via API

🧩 Extend and Contribute

  • Add custom connectors to new data sources (e.g., crypto exchanges, alt-data)
  • Contribute notebooks, indicators, or data visualizations
  • Help shape the roadmap of an open, transparent financial platfor

πŸ‘‰ Live Demos

Comming soon !!

πŸ’ͺ Supported Data Sources

Comming soon !!

πŸš€ Getting Started

Installation

You can set up FinanceLake by following our step-by-step instructions for either Docker Compose or Helm. Feel free to ask the community if you get stuck at any point.

πŸ€“ Usage

Please see detailed usage instructions. Here's an overview on how to get started using FinanceLake.

Contributing

Please read the contribution guidelines before you make contribution. The following docs list the resources you might need to know after you decided to make contribution.

πŸ‘©πŸΎβ€πŸ’» Contributing Code

If you plan to contribute code to FinanceLake, we have instructions on how to get started with setting up your Development environemtn.

πŸ“„ Contributing Documentation

One of the best ways to get started contributing is by improving FinanceLake's documentation.

⌚ Roadmap

  • Roadmap: Detailed roadmaps for FinanceLake.

πŸ’™ Community

Message us on Discord

πŸ“„ License

πŸ”§ Environment Configuration

Before running the project, configure your environment variables.

  1. Copy the .env.example file and create your own .env file:
cp .env.example .env
  1. Edit the .env file and fill in your specific configuration:

-DB_HOST: Database host (e.g., localhost) -KAFKA_BROKER: Kafka broker address -SPARK_MASTER Spark master URL -API_KEY: Your API key -DATA_SOURCE_URL: URL to fetch data from -RAW_DATA_PATH: Path for storing raw data -DASHBOARD_USER: Dashboard login user -LOG_LEVEL: Logging level (e.g., INFO, DEBUG)

Steps to execute Kafka & HDFS:

  1. Start Kafka & Zookeeper

bin/zookeeper-server-start.sh config/zookeeper.properties bin/kafka-server-start.sh config/server.properties

  1. Start HDFS

Make sure HDFS is running on localhost:9000.

  1. Start the Kafka producer

python producer.py

  1. Deploy the HDFS connector

curl -X POST -H "Content-Type: application/json" --data @hdfs-sink.json http://localhost:8083/connectors

About

FinanceLake is an open-source platform for processing and analyzing financial data, built entirely on open and scalable technologies.

Topics

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages