How m0nk4489/damus works
Damus is a local desktop workbench for market-data research, forecasting experiments, visual analysis, and paper or explicitly armed live trading. Its main workflow is to import or download bars into a local catalog, configure and queue an experiment, run forecasting and backtesting in a separate worker, then inspect results. A separate forward-trading workflow uses a selected feed and execution adapter. The README documents provider breadth and analysis capabilities; sampled excerpts do not expose every internal call, so uncertain wiring is omitted.
Main entry points: controller.py Application services · window.py Workbench UI · worker.py Experiment worker · providers.py Provider adapters
Components 22
Desktop workbench
- Workbench UI
damus/ui/window.py - Data library
damus/ui/data_hub.py - Trading controls
damus/ui/trading_controls.py - Application services
damus/controller.py
Market data
- Download process
damus/download_worker.py - Provider adapters
damus/providers.py - Historical data
damus/marketdata.py - Quote feeds
damus/feeds.py - Local catalog
damus/storage.py
Forecast research
- Experiment setup
damus/ui/experiment_inputs.py - Job coordination
damus/jobs.py - Experiment worker
damus/worker.py - Forecast and backtest
damus/engine.py - Model adapters
damus/models - Charts and analysis
damus/ui/charts.py - Chart preparation
damus/chart_data.py
Trading and resources
- Resource policy
damus/resources.py - Forward session
damus/paper.py - Execution adapters
damus/execution_adapters.py
Other components
- Researcher
- Market data services
- Broker or exchange
Connections 27
- Researcher → Workbench UI: uses
- Workbench UI → Data library: opens library
- Workbench UI → Experiment setup: configures runs
- Workbench UI → Charts and analysis: inspects results
- Workbench UI → Trading controls: controls trading
- Data library → Application services: requests data
- Application services → Download process: isolates download
- Download process → Application services: requests bars
- Application services → Provider adapters: selects source
- Provider adapters → Historical data: provides history
- Provider adapters → Market data services: requests bars
- Application services → Local catalog: registers datasets
- Application services → Job coordination: queues experiment
- Job coordination → Experiment worker: dispatches job
- Experiment worker → Forecast and backtest: runs experiment
- Experiment worker → Resource policy: configures limits
- Forecast and backtest → Model adapters: fits and predicts
- Experiment worker → Local catalog: writes results
- Charts and analysis → Application services: requests results
- Charts and analysis → Chart preparation: prepares plots
- Trading controls → Application services: controls session
- Application services → Forward session: starts session
- Forward session → Quote feeds: reads quotes
- Quote feeds → Market data services: polls quotes
- Forward session → Execution adapters: routes actions
- Execution adapters → Broker or exchange: places orders
- Application services → Execution adapters: selects broker