sigma-terminal 3.4.1__py3-none-any.whl → 3.5.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- sigma/__init__.py +4 -5
- sigma/analytics/__init__.py +11 -9
- sigma/app.py +384 -1194
- sigma/backtest/__init__.py +2 -0
- sigma/backtest/service.py +116 -0
- sigma/charts.py +2 -2
- sigma/cli.py +14 -12
- sigma/comparison.py +2 -2
- sigma/config.py +14 -4
- sigma/core/command_router.py +93 -0
- sigma/llm/__init__.py +3 -0
- sigma/llm/providers/anthropic_provider.py +196 -0
- sigma/llm/providers/base.py +29 -0
- sigma/llm/providers/google_provider.py +197 -0
- sigma/llm/providers/ollama_provider.py +156 -0
- sigma/llm/providers/openai_provider.py +168 -0
- sigma/llm/providers/sigma_cloud_provider.py +57 -0
- sigma/llm/rate_limit.py +40 -0
- sigma/llm/registry.py +66 -0
- sigma/llm/router.py +122 -0
- sigma/setup_agent.py +188 -0
- sigma/tools/__init__.py +23 -0
- sigma/tools/adapter.py +38 -0
- sigma/{tools.py → tools/library.py} +2 -1
- sigma/tools/registry.py +108 -0
- sigma/utils/extraction.py +83 -0
- sigma_terminal-3.5.0.dist-info/METADATA +184 -0
- sigma_terminal-3.5.0.dist-info/RECORD +46 -0
- sigma/llm.py +0 -786
- sigma/setup.py +0 -440
- sigma_terminal-3.4.1.dist-info/METADATA +0 -272
- sigma_terminal-3.4.1.dist-info/RECORD +0 -30
- /sigma/{backtest.py → backtest/simple_engine.py} +0 -0
- {sigma_terminal-3.4.1.dist-info → sigma_terminal-3.5.0.dist-info}/WHEEL +0 -0
- {sigma_terminal-3.4.1.dist-info → sigma_terminal-3.5.0.dist-info}/entry_points.txt +0 -0
- {sigma_terminal-3.4.1.dist-info → sigma_terminal-3.5.0.dist-info}/licenses/LICENSE +0 -0
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: sigma-terminal
|
|
3
|
+
Version: 3.5.0
|
|
4
|
+
Summary: Sigma - Finance Research Agent
|
|
5
|
+
Project-URL: Homepage, https://github.com/desenyon/sigma
|
|
6
|
+
Project-URL: Documentation, https://github.com/desenyon/sigma/wiki
|
|
7
|
+
Project-URL: Repository, https://github.com/desenyon/sigma
|
|
8
|
+
Author: Sigma Team
|
|
9
|
+
License: Proprietary
|
|
10
|
+
License-File: LICENSE
|
|
11
|
+
Keywords: ai,analytics,backtesting,finance,investment,portfolio,quantitative,research,stocks,terminal,trading
|
|
12
|
+
Classifier: Development Status :: 4 - Beta
|
|
13
|
+
Classifier: Environment :: Console
|
|
14
|
+
Classifier: Intended Audience :: Financial and Insurance Industry
|
|
15
|
+
Classifier: License :: Other/Proprietary License
|
|
16
|
+
Classifier: Operating System :: OS Independent
|
|
17
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
18
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
19
|
+
Classifier: Topic :: Office/Business :: Financial :: Investment
|
|
20
|
+
Requires-Python: >=3.11
|
|
21
|
+
Requires-Dist: aiohttp>=3.9.0
|
|
22
|
+
Requires-Dist: anthropic>=0.18.0
|
|
23
|
+
Requires-Dist: google-genai>=1.0.0
|
|
24
|
+
Requires-Dist: groq>=0.4.0
|
|
25
|
+
Requires-Dist: httpx>=0.26.0
|
|
26
|
+
Requires-Dist: kaleido>=0.2.1
|
|
27
|
+
Requires-Dist: numpy>=1.26.0
|
|
28
|
+
Requires-Dist: openai>=1.12.0
|
|
29
|
+
Requires-Dist: pandas>=2.2.0
|
|
30
|
+
Requires-Dist: pillow>=10.2.0
|
|
31
|
+
Requires-Dist: plotext>=5.2.8
|
|
32
|
+
Requires-Dist: plotly>=5.18.0
|
|
33
|
+
Requires-Dist: pydantic-settings>=2.1.0
|
|
34
|
+
Requires-Dist: pydantic>=2.6.0
|
|
35
|
+
Requires-Dist: pyobjc-framework-cocoa>=10.0; sys_platform == 'darwin'
|
|
36
|
+
Requires-Dist: python-dotenv>=1.0.0
|
|
37
|
+
Requires-Dist: requests>=2.31.0
|
|
38
|
+
Requires-Dist: rich>=13.7.0
|
|
39
|
+
Requires-Dist: scipy>=1.12.0
|
|
40
|
+
Requires-Dist: textual>=0.47.0
|
|
41
|
+
Requires-Dist: yfinance>=0.2.36
|
|
42
|
+
Provides-Extra: all
|
|
43
|
+
Requires-Dist: black>=24.0.0; extra == 'all'
|
|
44
|
+
Requires-Dist: lean>=1.0.0; extra == 'all'
|
|
45
|
+
Requires-Dist: mypy>=1.8.0; extra == 'all'
|
|
46
|
+
Requires-Dist: py2app>=0.28.0; extra == 'all'
|
|
47
|
+
Requires-Dist: pytest-asyncio>=0.23.0; extra == 'all'
|
|
48
|
+
Requires-Dist: pytest>=8.0.0; extra == 'all'
|
|
49
|
+
Requires-Dist: ruff>=0.2.0; extra == 'all'
|
|
50
|
+
Provides-Extra: dev
|
|
51
|
+
Requires-Dist: black>=24.0.0; extra == 'dev'
|
|
52
|
+
Requires-Dist: mypy>=1.8.0; extra == 'dev'
|
|
53
|
+
Requires-Dist: py2app>=0.28.0; extra == 'dev'
|
|
54
|
+
Requires-Dist: pytest-asyncio>=0.23.0; extra == 'dev'
|
|
55
|
+
Requires-Dist: pytest>=8.0.0; extra == 'dev'
|
|
56
|
+
Requires-Dist: ruff>=0.2.0; extra == 'dev'
|
|
57
|
+
Provides-Extra: lean
|
|
58
|
+
Requires-Dist: lean>=1.0.0; extra == 'lean'
|
|
59
|
+
Description-Content-Type: text/markdown
|
|
60
|
+
|
|
61
|
+
<h1 align="center">
|
|
62
|
+
<code>σ</code> SIGMA
|
|
63
|
+
</h1>
|
|
64
|
+
|
|
65
|
+
<p align="center">
|
|
66
|
+
<strong>The Terminal-Based Financial Research Agent</strong>
|
|
67
|
+
</p>
|
|
68
|
+
|
|
69
|
+
<p align="center">
|
|
70
|
+
<img src="https://img.shields.io/badge/version-3.5.0-blue.svg" alt="Version 3.5.0"/>
|
|
71
|
+
<img src="https://img.shields.io/badge/python-3.11+-green.svg" alt="Python 3.11+"/>
|
|
72
|
+
<img src="https://img.shields.io/badge/license-Proprietary-red.svg" alt="License"/>
|
|
73
|
+
<img src="https://img.shields.io/badge/UI-Textual-purple.svg" alt="UI Framework"/>
|
|
74
|
+
</p>
|
|
75
|
+
|
|
76
|
+
---
|
|
77
|
+
|
|
78
|
+
## What is Sigma?
|
|
79
|
+
|
|
80
|
+
Sigma is a financial analysis terminal powered by modern AI. It unifies natural language research, quantitative backtesting, and real-time market data into a single, high-performance CLI application.
|
|
81
|
+
|
|
82
|
+
Unlike generic chat tools, Sigma is built for finance:
|
|
83
|
+
|
|
84
|
+
- **Deterministic Tools**: Real APIs for quotes, financials, and news—no hallucinations.
|
|
85
|
+
- **Local & Cloud AI**: Route queries to OpenAI, Anthropic, Gemini, or run locally with Ollama.
|
|
86
|
+
- **Integrated Backtesting**: First-class support for LEAN engine to test strategies instantly.
|
|
87
|
+
- **Privacy First**: Your API keys and strategies stay on your machine.
|
|
88
|
+
|
|
89
|
+
---
|
|
90
|
+
|
|
91
|
+
## Installation
|
|
92
|
+
|
|
93
|
+
### Prerequisites
|
|
94
|
+
|
|
95
|
+
- Python 3.11+
|
|
96
|
+
- [Optional] Docker (for LEAN) or LEAN CLI
|
|
97
|
+
- [Optional] Ollama (for local inference)
|
|
98
|
+
|
|
99
|
+
### One-Command Setup
|
|
100
|
+
|
|
101
|
+
Sigma includes an intelligent **Setup Agent** that handles the heavy lifting.
|
|
102
|
+
|
|
103
|
+
```bash
|
|
104
|
+
# Clone and install
|
|
105
|
+
pip install sigma-terminal
|
|
106
|
+
|
|
107
|
+
# Launch (triggers Setup Agent on first run)
|
|
108
|
+
python -m sigma
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
The Setup Agent will:
|
|
112
|
+
|
|
113
|
+
1. Detect your OS and Python environment.
|
|
114
|
+
2. Install the LEAN backtesting engine (if missing).
|
|
115
|
+
3. Install and configure Ollama (if missing).
|
|
116
|
+
4. help you add API keys for data providers (Polygon, Alpha Vantage, etc.).
|
|
117
|
+
|
|
118
|
+
---
|
|
119
|
+
|
|
120
|
+
## Usage
|
|
121
|
+
|
|
122
|
+
Sigma is designed for natural language. Just type what you need.
|
|
123
|
+
|
|
124
|
+
### Market Research
|
|
125
|
+
|
|
126
|
+
> "Analyze AAPL and compare it with MSFT for the last 5 years"
|
|
127
|
+
> "Get me the latest earnings report for NVDA and summarize risks"
|
|
128
|
+
> "Show me a chart of SPY vs QQQ YTD"
|
|
129
|
+
|
|
130
|
+
### Quantitative Backtesting
|
|
131
|
+
|
|
132
|
+
> "Backtest a simple moving average crossover on BTC-USD from 2020"
|
|
133
|
+
> "Run a momentum strategy on TSLA, weekly rebalance"
|
|
134
|
+
|
|
135
|
+
### Tool & System Control
|
|
136
|
+
|
|
137
|
+
> "Switch model to local llama3"
|
|
138
|
+
> "List all available tools"
|
|
139
|
+
> "/backtest AAPL -s sma_cross" (Shortcuts available)
|
|
140
|
+
|
|
141
|
+
---
|
|
142
|
+
|
|
143
|
+
## Architecture
|
|
144
|
+
|
|
145
|
+
Sigma v3.5.0 is built on a modular, event-driven architecture:
|
|
146
|
+
|
|
147
|
+
| Component | Description |
|
|
148
|
+
| -------------------------- | ----------------------------------------------------------------------------------------------------- |
|
|
149
|
+
| **Core Engine** | Orchestrates intent parsing, tool routing, and result synthesis. |
|
|
150
|
+
| **LLM Router** | Intelligent routing between OpenAI, Anthropic, Google, and Ollama. Handles rate limits and fallbacks. |
|
|
151
|
+
| **Tool Registry** | A typed system connecting the LLM to 30+ financial data functions. |
|
|
152
|
+
| **Backtest Service** | Wraps the LEAN engine to stream logs and results directly to the TUI. |
|
|
153
|
+
| **UI (Textual)** | A multi-pane terminal interface with real-time streaming, trace logs, and plotting. |
|
|
154
|
+
|
|
155
|
+
---
|
|
156
|
+
|
|
157
|
+
## Configuration
|
|
158
|
+
|
|
159
|
+
Configuration is stored in `~/.sigma/` and managed automatically. You can also edit it manually:
|
|
160
|
+
|
|
161
|
+
`~/.sigma/config.json`:
|
|
162
|
+
|
|
163
|
+
```json
|
|
164
|
+
{
|
|
165
|
+
"default_model": "gpt-4o",
|
|
166
|
+
"ollama_url": "http://localhost:11434",
|
|
167
|
+
"data_providers": {
|
|
168
|
+
"polygon": "ENABLED",
|
|
169
|
+
"yfinance": "FALLBACK"
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
```
|
|
173
|
+
|
|
174
|
+
### Supported Providers
|
|
175
|
+
|
|
176
|
+
- **AI**: OpenAI, Anthropic (Claude), Google (Gemini), Ollama (Local)
|
|
177
|
+
- **Data**: Polygon.io, Alpha Vantage, Financial Modeling Prep, YFinance (Default)
|
|
178
|
+
|
|
179
|
+
---
|
|
180
|
+
|
|
181
|
+
## License
|
|
182
|
+
|
|
183
|
+
Proprietary / Closed Source.
|
|
184
|
+
Copyright (c) 2026 Sigma Team. All Rights Reserved.
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
sigma/__init__.py,sha256=dcYKxj4v5MyKiYVaZ4_P1mLHBN9xxJWzToBeTO6Y0To,3574
|
|
2
|
+
sigma/__main__.py,sha256=JR33oXObSRLsirM_8pvzTIUBr16QXS294WkQRIFI95g,114
|
|
3
|
+
sigma/app.py,sha256=waFgdUzD8s67ctM9tsmzUxatK4y7rGgqZ4xQwY47v30,14493
|
|
4
|
+
sigma/charts.py,sha256=FMQ6kkX0OE1SMD_fcb2z-YGwX9Lcbc2bRpWpqLMzPGo,12784
|
|
5
|
+
sigma/cli.py,sha256=GCSkeQ7g1puHrgpUl7ZkyuKIMpKEzLfVhVPg3UB9Bl8,16935
|
|
6
|
+
sigma/comparison.py,sha256=0q-zWGVVuI8EMz7KsLVG5isORC2zRUTFCrht2Qjt8zk,21725
|
|
7
|
+
sigma/config.py,sha256=Wq9NeUn1ImRC-ZPRVVUDlpq8NZzIkx46_uGvg390Cgo,17397
|
|
8
|
+
sigma/monitoring.py,sha256=7iC9DaTX8dFIygwAyEgpFQFpLPQrmLg6UW1bBeB_n7M,22672
|
|
9
|
+
sigma/portfolio.py,sha256=ySypECWntDfa4pRVrNgxRsNDyOCEEgTOCUhrQIiMgBY,24020
|
|
10
|
+
sigma/reporting.py,sha256=3qzuG-uITeO2z9ENOst4QcJSY2z8FyJs_eGQVe7JGM4,19157
|
|
11
|
+
sigma/robustness.py,sha256=rvy-LQx9b7IZRYTI1srnL_yrVWeNAwcUFra0YSD6ZrE,23502
|
|
12
|
+
sigma/setup_agent.py,sha256=W9HfaNQTLEDnDeUvzZnyzw1AQE9A67RJ-nYf_IBVEPU,7686
|
|
13
|
+
sigma/strategy.py,sha256=1IucLv3vcWyQgAsMhav6Q1qf-i3yk3obYEdaOkRA4Nw,28881
|
|
14
|
+
sigma/visualization.py,sha256=w5amseNd-sO8oCUpE_jnZFQD2xW-Twx6W6kk6xSb-ZA,24749
|
|
15
|
+
sigma/analytics/__init__.py,sha256=WkyZgfvDSxbXKox-VV7mvnBhMC7l7y8qAv4Tfy0lYcQ,23191
|
|
16
|
+
sigma/backtest/__init__.py,sha256=Wko8jkF76S_WZSpIIfFK_GDaFnLZvsnH7HAVJPB4Y_M,112
|
|
17
|
+
sigma/backtest/service.py,sha256=_UzEOnmMV8sntAt9gYgUnpvn853Ne8EudoJf1Z0Zshg,4448
|
|
18
|
+
sigma/backtest/simple_engine.py,sha256=7hImn0A4eO6gokWVLKERWqapN1N-T9ohc8Vof1XJo-0,13258
|
|
19
|
+
sigma/core/__init__.py,sha256=vpMwe22zgDRze9LuGumTNvyRS2rzaeAgNd9_4dkaFrk,136
|
|
20
|
+
sigma/core/command_router.py,sha256=sJ4TCdAV99jBn6X4gBQh03PAt0BgeCdlnizj3SvaMUk,3442
|
|
21
|
+
sigma/core/engine.py,sha256=u8Z8ecvrPzaqyijHDjI4rDfdTpNjbAhxqx-5ahR8-0A,17566
|
|
22
|
+
sigma/core/intent.py,sha256=w3VOUIH7fQ0nSrG2Ch9l9CVfSU7dp0wqz5FCSu3e3HQ,23519
|
|
23
|
+
sigma/core/models.py,sha256=IkpvIK28rvGsjqV9cvC3NhbdiHaRmNzEJUevJkpLGyA,15745
|
|
24
|
+
sigma/data/__init__.py,sha256=nqFtjuuTGhEO7bs-eVAzesKIf0w7U_38qgkGi5O53Ek,23896
|
|
25
|
+
sigma/data/models.py,sha256=Zoh4s90ihPPVpUw3Nh5SqInNzf7l-jB8_I1de1OUDNQ,3694
|
|
26
|
+
sigma/llm/__init__.py,sha256=_ntoRdQKScfMA8aClrcuM4PT5WxJtXAZMcmxSCmBrWI,109
|
|
27
|
+
sigma/llm/rate_limit.py,sha256=vDHhQg142Wd8LrPLn0vsmO6LBsiuao-NuvHX_zE0Kh4,1537
|
|
28
|
+
sigma/llm/registry.py,sha256=OXcqUaqEMkRQ7e9RaFXPyvstX9X36NH6rG1bBk1qOPU,2866
|
|
29
|
+
sigma/llm/router.py,sha256=GlYwVO2lqfivRcEE-x8zOeYCZzPssLS1UTKdyws4rko,4605
|
|
30
|
+
sigma/llm/providers/anthropic_provider.py,sha256=eLE-z4R_tqNGQetPqr9Nl-Vh5G4Te4CxpHnH5_8k9d0,7663
|
|
31
|
+
sigma/llm/providers/base.py,sha256=OFWaCbIxWgY6bMxN5qnxydS-vWgvyLFvUacIzGaiLGM,866
|
|
32
|
+
sigma/llm/providers/google_provider.py,sha256=xryjOItRLhSWcSITSSnc2OkdfNiL3Y-fh9Asiyxy6cY,8381
|
|
33
|
+
sigma/llm/providers/ollama_provider.py,sha256=yqpejtZLtTjddaS99vkcUFq_8vDVHKMeMWn83fvln9E,6607
|
|
34
|
+
sigma/llm/providers/openai_provider.py,sha256=UFfkGBMGVBA-Zcprc-0XrGNWxuFl0aTghYPprtbRDVY,6903
|
|
35
|
+
sigma/llm/providers/sigma_cloud_provider.py,sha256=mCT445D0LSwE7Th79QTT-6Y9QRzoSmZfXBmzADrSp9M,1838
|
|
36
|
+
sigma/tools/__init__.py,sha256=kD6zjXorRuxBuWUfTZXGC1LPzFdg7FMUH8Uwa-g9Bdg,710
|
|
37
|
+
sigma/tools/adapter.py,sha256=2ChjA4I7wUVA26NBeGGddSOFeRp4_C-hikb4OpNzFF8,1238
|
|
38
|
+
sigma/tools/backtest.py,sha256=xYunp_dm46uGBw0pxNcWsSh4UuLmE1xuaHvWzzmcGv4,53869
|
|
39
|
+
sigma/tools/library.py,sha256=Yn1I9ro8Ifp1x4mtVp1uXGf3qYtQQjR4kUlv1bDFEPc,70933
|
|
40
|
+
sigma/tools/registry.py,sha256=SuFT22TsaVXgboiAalCVXHOdg2FV_Vy-v5H3FFdLdm4,4072
|
|
41
|
+
sigma/utils/extraction.py,sha256=vmSnDzrP_rUrYM_iUpDTFOGAtp6I5Ff_Z6RYR_SH9Og,2806
|
|
42
|
+
sigma_terminal-3.5.0.dist-info/METADATA,sha256=Q0E5P7IBXYvcAJX-f1wWC2Je6Ww8g7kHCAA1ZAWPrec,6227
|
|
43
|
+
sigma_terminal-3.5.0.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
|
|
44
|
+
sigma_terminal-3.5.0.dist-info/entry_points.txt,sha256=lFpcHMWvr4jUIO-MRrBwKhxWp-AIsRJDaWMU4dOQzlw,121
|
|
45
|
+
sigma_terminal-3.5.0.dist-info/licenses/LICENSE,sha256=YGf6UbSNXayxJnonOYohaDbbV1yZQfQ1wyStkTuHS6w,1099
|
|
46
|
+
sigma_terminal-3.5.0.dist-info/RECORD,,
|