-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathapplication.yml
More file actions
242 lines (219 loc) · 5.81 KB
/
Copy pathapplication.yml
File metadata and controls
242 lines (219 loc) · 5.81 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
spring:
application:
name: tickonomics
threads:
virtual:
enabled: true
lifecycle:
timeout-per-shutdown-phase: 60s
datasource:
url: jdbc:postgresql://localhost:5432/tickonomics
username: tickonomics
password: tickonomics
hikari:
maximum-pool-size: 20
flyway:
enabled: true
locations: classpath:db/migration
execute-in-transaction: false
security:
oauth2:
client:
registration:
keycloak:
client-id: tickonomics-dashboard
authorization-grant-type: authorization_code
scope: openid,profile,email
provider:
keycloak:
issuer-uri: ${KEYCLOAK_ISSUER_URI:http://localhost:8080}
resourceserver:
jwt:
issuer-uri: ${KEYCLOAK_ISSUER_URI:http://localhost:8080}
jwk-set-uri: ${KEYCLOAK_JWK_SET_URI:http://localhost:8080/oauth2/jwks}
security:
auth-disabled: ${AUTH_DISABLED:false}
cors:
allowed-origins: ${CORS_ALLOWED_ORIGINS:http://localhost:3000,http://localhost:3001}
rate-limit:
# In-memory token bucket for the most dangerous demo write endpoints (kill-switch,
# close-position). capacity tokens refill every refill-seconds.
capacity: 5
refill-seconds: 60
websocket:
# Server ping cadence keeping idle WS subscribers alive and evicting half-open sockets.
heartbeat-interval-ms: 30000
analytics:
worker:
url: http://localhost:8001
server:
port: 8080
shutdown: graceful
management:
endpoints:
web:
exposure:
include: health,prometheus,metrics
metrics:
export:
prometheus:
enabled: true
tracing:
sampling:
probability: 1.0
otlp:
tracing:
endpoint: http://localhost:4317
guard:
evict-interval-ms: 3600000
persistence:
query:
# Row cap applied to every findBy*Between range scan so an unbounded time range
# can never load an arbitrary number of rows. Override for workloads that need more.
default-limit: 10000
monitor:
ingestion:
lkg-cache:
max-staleness-seconds: 3600
bulkhead:
pressure-check-ms: 30000
resilience:
buffer-capacity: 10000
anomaly:
enabled: true
async-timeout-seconds: 5
fallback-to-threshold: true
demo:
enabled: false
virtual-balance: 100000
position-size-pct: 5
stop-loss-pct: 5
take-profit-pct: 10
auto-execute-signals: false
execute-degraded-signals: true
skip-dislocated-signals: true
default-addv: 10000000
advanced-cost-model:
enabled: true
passive-bps: 0.84
aggressive-bps: 2.03
large-order-bps: 9.04
nbbo-drift-simulation: true
randomized-execution:
enabled: true
window-seconds: 60
avoid-round-marks: true
market-stability-guard:
enabled: true
volatility-threshold-pct: 5
trigger-latency-ms: 100
order-impact-predictor:
enabled: true
max-impact-threshold-bps: 10
market-maker-mode:
enabled: false
prefer-limit-orders: true
spread-capture-target-pct: 60
dynamic-stops:
enabled: false
recalibration-interval: "7d"
portfolio-algebra:
use-standardized-cost-model: true
leverage-rotation:
enabled: true
ma-window-days: 200
benchmark-symbol: "SPY"
kill-switch:
liquidate-on-activate: true
global-safe-mode:
enabled: true
overflow-utilization-threshold-pct: 80
worker-latency-threshold-ms: 5000
min-degraded-indicators: 2
evaluation-interval-ms: 5000
equity-price:
enabled: true
poll-interval-ms: 21600000
symbols: SPY,QQQ,IWM,TLT,HYG,GLD
yahoo-finance:
enabled: true
base-url: https://query1.finance.yahoo.com
connect-timeout: 5s
read-timeout: 30s
finnhub:
api-key: ${FINNHUB_API_KEY:}
rest-enabled: true
rest-url: https://finnhub.io/api/v1
ws-enabled: true
ws-url: wss://ws.finnhub.io
ws-reconnect-backoff-max: 60000
symbols: SPY,QQQ,IWM,TLT,HYG,GLD
news-enabled: true
connect-timeout: 5s
read-timeout: 30s
news:
enabled: true
poll-interval-ms: 21600000
fed-rss:
enabled: true
speeches-url: https://www.federalreserve.gov/feeds/speeches.xml
fomc-url: https://www.federalreserve.gov/feeds/press_monetary.xml
poll-interval-ms: 3600000
ken-french:
enabled: true
base-url: https://mba.tuck.dartmouth.edu/pages/faculty/ken.french/ftp
poll-interval-ms: 86400000
yield-curve:
enabled: true
alpha-vantage:
enabled: true
api-key: ${ALPHAVANTAGE_API_KEY:}
base-url: https://www.alphavantage.co/query
poll-interval-ms: 86400000
symbols: SPY,QQQ,IWM,TLT,HYG,GLD
commodities: GOLD,OIL,NATURAL_GAS,COPPER
rate-limit-delay-ms: 12100
initial-full-load: true
datahub:
enabled: true
base-url: https://datahub.io
startup-full-load: true
incremental-check-cron: "0 0 2 1 * *"
fred:
api-key: ${FRED_API_KEY:}
base-url: https://api.stlouisfed.org/fred
poll-interval-ms: 300000
nyfed:
base-url: https://markets.newyorkfed.org/api
poll-interval-ms: 300000
polymarket:
enabled: false
base-url: https://gamma-api.polymarket.com
poll-interval-ms: 300000
limit: 100
osint:
enabled: false
base-url: https://api.gdeltproject.org/api/v2/doc/doc
query: stock market earnings
max-records: 75
poll-interval-ms: 600000
perspex:
enabled: false
poll-interval-ms: 600000
lookback-minutes: 240
divergence-threshold: 0.25
min-liquidity: 1000.0
min-volume: 500.0
max-quotes: 200
max-events: 200
worker-function: api/v1/perspex/analyze
agent-enabled: false
resilience4j:
bulkhead:
instances:
criticalIngestion:
max-concurrent-calls: 4
highVolumeIngestion:
max-concurrent-calls: 16
computationEngine:
max-concurrent-calls: 8