Smart, hedged BTC investing made simple.
DCAlytics is an interactive cryptocurrency dashboard and simulation tool that combines dynamic dollar-cost averaging (DCA) with risk-managed hedging strategies. The platform allows users to:
- Visualize portfolio performance
- Simulate BTC trades
- Optimize investments while managing market volatility
It features a sleek, responsive interface built for both desktop and mobile.
- Dynamic DCA Engine: Configure recurring BTC purchases at user-defined intervals.
- Hedging Strategies: Reduce exposure to market volatility with adjustable hedging percentages.
- Portfolio Analytics: Real-time charts comparing DCA strategies vs HODL.
- Trade Simulation: Backtest strategies using historical and live BTC data.
- Responsive Interface: TailwindCSS + Chart.js for interactive dashboards.
- Python 3.11+
- Node.js 18+ (for frontend if running locally)
- Git
git clone https://github.com/canstralian/dcalytics.git
cd dcalytics# Create a virtual environment
python -m venv venv
source venv/bin/activate # Linux/Mac
venv\Scripts\activate # Windows
# Install dependencies
pip install -r requirements.txt
# Run FastAPI server
uvicorn backend.main:app --reload-
Option 1: Static Frontend Simply open
frontend/index.htmlin a browser or deploy to Hugging Face Spaces. -
Option 2: Streamlit (Optional)
pip install streamlit
streamlit run frontend/app.py-
Open the dashboard in a browser.
-
Configure your DCA strategy:
- Investment Amount
- DCA Frequency
- Hedge Percentage
- Time Period
-
Click Run Simulation.
-
Visualize results: portfolio value, BTC price evolution, risk metrics, and performance comparison charts.
-
Export reports if needed.
dcalytics/
├── backend/ # FastAPI backend
│ ├── main.py # API routes
│ ├── models.py # Data models
│ ├── trading_engine.py # Algorithmic trading logic
│ └── requirements.txt
├── frontend/ # Dashboard UI
│ ├── index.html
│ ├── app.py # Streamlit frontend (optional)
│ ├── styles.css
│ └── scripts.js
├── data/ # Sample datasets or cached BTC prices
├── docs/ # Documentation and diagrams
└── README.md
- Backend:
config.yamlor.envfor API keys (if using live BTC feeds). - Frontend: TailwindCSS variables for theming; Chart.js for charts.
- Simulation Parameters: Set via dashboard sliders and dropdowns.
- Fork the repo
- Create a feature branch (
git checkout -b feature-name) - Commit your changes (
git commit -m 'Add feature') - Push to branch (
git push origin feature-name) - Open a Pull Request
This project is licensed under Apache 2.0 — see the LICENSE file for details.