Skip to content

qingweizhang054/FinancialSignalAggregator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Financial Signal Aggregator

A modular service for aggregating and serving real-time financial signals over both gRPC and RESTful API endpoints. Built for low-latency trading systems and quantitative research environments.


📦 Features

  • gRPC + FastAPI dual-channel interface
  • ⚙️ Real-time signal simulation from multiple market sources
  • 🧩 Extensible architecture for signal routing, aggregation, and strategy integration
  • 🚀 Production-ready layout with CI/testability in mind

🛠 Project Structure

FinancialSignalAggregator/
├── app/
│   ├── aggregator.py           # Core logic for signal computation
│   ├── grpc\_server.py          # gRPC server
│   ├── rest\_server.py          # FastAPI REST server
│   └── protos/
│       ├── signal.proto        # gRPC schema definition
│       ├── signal\_pb2.py       # Auto-generated gRPC messages
│       ├── signal\_pb2\_grpc.py  # Auto-generated gRPC service stubs
│       └── **init**.py
├── requirements.txt
└── README.md


🚀 Usage

1. Install dependencies

pip install -r requirements.txt

2. Compile gRPC files

python -m grpc_tools.protoc -I=app/protos --python_out=app/protos --grpc_python_out=app/protos app/protos/signal.proto

3. Start gRPC server

python -m app.grpc_server

4. Start REST API server

uvicorn app.rest_server:app --reload

📡 API Overview

gRPC

  • Service: SignalService
  • Method: GetSignal(SignalRequest) → SignalResponse
  • Example Input: "symbol": "AAPL"
  • Example Output: "price": 145.23, "timestamp": 1720452351

REST

  • GET /signal/{symbol}
  • Response:
{
  "symbol": "AAPL",
  "price": 145.23,
  "timestamp": 1720452351
}

📈 Roadmap

  • Add Redis/Kafka integration
  • Add configurable signal computation logic
  • Add unit & integration tests
  • Add CI pipeline (GitHub Actions)
  • Containerization (Docker)

👨‍💻 Author

Qingwei Zhang — Quant Developer Track GitHub: @zqw86713 UChicago MADS | C++ | Python | Market Microstructure


📄 License

Apache 2.0 License (same as TensorFlow, QuickFIX, etc.)

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published