sqa 0.0.37 → 0.0.38
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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +62 -0
- data/docs/api-reference/alphavantageapi.md +105 -105
- data/docs/api-reference/apierror.md +2 -2
- data/docs/api-reference/index.md +2 -2
- data/docs/api-reference/notimplemented.md +2 -2
- data/docs/api-reference/sqa.md +12 -12
- data/docs/api-reference/sqa_backtest.md +43 -9
- data/docs/api-reference/sqa_backtest_results.md +34 -34
- data/docs/api-reference/sqa_badparametererror.md +1 -1
- data/docs/api-reference/sqa_config.md +31 -31
- data/docs/api-reference/sqa_configurationerror.md +1 -1
- data/docs/api-reference/sqa_datafetcherror.md +3 -3
- data/docs/api-reference/sqa_dataframe.md +63 -36
- data/docs/api-reference/sqa_dataframe_alphavantage.md +2 -2
- data/docs/api-reference/sqa_dataframe_data.md +18 -18
- data/docs/api-reference/sqa_dataframe_yahoofinance.md +2 -2
- data/docs/api-reference/sqa_ensemble.md +21 -21
- data/docs/api-reference/sqa_fpop.md +8 -8
- data/docs/api-reference/sqa_geneticprogram.md +20 -20
- data/docs/api-reference/sqa_geneticprogram_individual.md +8 -8
- data/docs/api-reference/sqa_marketregime.md +10 -10
- data/docs/api-reference/sqa_multitimeframe.md +11 -11
- data/docs/api-reference/sqa_patternmatcher.md +9 -9
- data/docs/api-reference/sqa_pluginmanager.md +4 -4
- data/docs/api-reference/sqa_portfolio.md +84 -27
- data/docs/api-reference/sqa_portfolio_position.md +12 -12
- data/docs/api-reference/sqa_portfolio_trade.md +16 -16
- data/docs/api-reference/sqa_portfoliooptimizer.md +10 -10
- data/docs/api-reference/sqa_riskmanager.md +12 -12
- data/docs/api-reference/sqa_seasonalanalyzer.md +6 -6
- data/docs/api-reference/sqa_sectoranalyzer.md +9 -9
- data/docs/api-reference/sqa_stock.md +48 -36
- data/docs/api-reference/sqa_strategy.md +8 -8
- data/docs/api-reference/sqa_strategy_bollingerbands.md +2 -2
- data/docs/api-reference/sqa_strategy_common.md +3 -3
- data/docs/api-reference/sqa_strategy_consensus.md +12 -12
- data/docs/api-reference/sqa_strategy_ema.md +4 -4
- data/docs/api-reference/sqa_strategy_kbs.md +11 -11
- data/docs/api-reference/sqa_strategy_macd.md +2 -2
- data/docs/api-reference/sqa_strategy_mp.md +4 -4
- data/docs/api-reference/sqa_strategy_mr.md +4 -4
- data/docs/api-reference/sqa_strategy_random.md +4 -4
- data/docs/api-reference/sqa_strategy_rsi.md +4 -4
- data/docs/api-reference/sqa_strategy_sma.md +4 -4
- data/docs/api-reference/sqa_strategy_stochastic.md +2 -2
- data/docs/api-reference/sqa_strategy_volumebreakout.md +2 -2
- data/docs/api-reference/sqa_strategygenerator.md +19 -19
- data/docs/api-reference/sqa_strategygenerator_pattern.md +17 -17
- data/docs/api-reference/sqa_strategygenerator_patterncontext.md +21 -21
- data/docs/api-reference/sqa_strategygenerator_profitablepoint.md +27 -27
- data/docs/api-reference/sqa_stream.md +18 -18
- data/docs/api-reference/sqa_ticker.md +8 -8
- data/docs/api-reference/string.md +11 -11
- data/docs/file_formats.md +250 -0
- data/lib/sqa/backtest.rb +32 -0
- data/lib/sqa/data_frame.rb +25 -0
- data/lib/sqa/portfolio.rb +54 -0
- data/lib/sqa/stock.rb +11 -0
- data/lib/sqa/version.rb +1 -1
- data/mkdocs.yml +1 -0
- metadata +2 -2
- data/docs/IMPROVEMENT_PLAN.md +0 -531
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
Represents a single trade
|
|
5
5
|
|
|
6
6
|
!!! abstract "Source Information"
|
|
7
|
-
**Defined in:** `lib/sqa/portfolio.rb:27`
|
|
7
|
+
**Defined in:** [`lib/sqa/portfolio.rb:27`](https://github.com/madbomber/sqa/blob/main/lib/sqa/portfolio.rb#L27)
|
|
8
8
|
|
|
9
9
|
**Inherits from:** `Struct`
|
|
10
10
|
|
|
@@ -28,7 +28,7 @@ Sets the attribute ticker
|
|
|
28
28
|
the newly set value
|
|
29
29
|
|
|
30
30
|
??? info "Source Location"
|
|
31
|
-
`lib/sqa/portfolio.rb:27`
|
|
31
|
+
[`lib/sqa/portfolio.rb:27`](https://github.com/madbomber/sqa/blob/main/lib/sqa/portfolio.rb#L27)
|
|
32
32
|
|
|
33
33
|
---
|
|
34
34
|
|
|
@@ -46,7 +46,7 @@ Returns the value of attribute ticker
|
|
|
46
46
|
the current value of ticker
|
|
47
47
|
|
|
48
48
|
??? info "Source Location"
|
|
49
|
-
`lib/sqa/portfolio.rb:27`
|
|
49
|
+
[`lib/sqa/portfolio.rb:27`](https://github.com/madbomber/sqa/blob/main/lib/sqa/portfolio.rb#L27)
|
|
50
50
|
|
|
51
51
|
---
|
|
52
52
|
|
|
@@ -68,7 +68,7 @@ Sets the attribute action
|
|
|
68
68
|
the newly set value
|
|
69
69
|
|
|
70
70
|
??? info "Source Location"
|
|
71
|
-
`lib/sqa/portfolio.rb:27`
|
|
71
|
+
[`lib/sqa/portfolio.rb:27`](https://github.com/madbomber/sqa/blob/main/lib/sqa/portfolio.rb#L27)
|
|
72
72
|
|
|
73
73
|
---
|
|
74
74
|
|
|
@@ -86,7 +86,7 @@ Returns the value of attribute action
|
|
|
86
86
|
the current value of action
|
|
87
87
|
|
|
88
88
|
??? info "Source Location"
|
|
89
|
-
`lib/sqa/portfolio.rb:27`
|
|
89
|
+
[`lib/sqa/portfolio.rb:27`](https://github.com/madbomber/sqa/blob/main/lib/sqa/portfolio.rb#L27)
|
|
90
90
|
|
|
91
91
|
---
|
|
92
92
|
|
|
@@ -108,7 +108,7 @@ Sets the attribute shares
|
|
|
108
108
|
the newly set value
|
|
109
109
|
|
|
110
110
|
??? info "Source Location"
|
|
111
|
-
`lib/sqa/portfolio.rb:27`
|
|
111
|
+
[`lib/sqa/portfolio.rb:27`](https://github.com/madbomber/sqa/blob/main/lib/sqa/portfolio.rb#L27)
|
|
112
112
|
|
|
113
113
|
---
|
|
114
114
|
|
|
@@ -126,7 +126,7 @@ Returns the value of attribute shares
|
|
|
126
126
|
the current value of shares
|
|
127
127
|
|
|
128
128
|
??? info "Source Location"
|
|
129
|
-
`lib/sqa/portfolio.rb:27`
|
|
129
|
+
[`lib/sqa/portfolio.rb:27`](https://github.com/madbomber/sqa/blob/main/lib/sqa/portfolio.rb#L27)
|
|
130
130
|
|
|
131
131
|
---
|
|
132
132
|
|
|
@@ -148,7 +148,7 @@ Sets the attribute price
|
|
|
148
148
|
the newly set value
|
|
149
149
|
|
|
150
150
|
??? info "Source Location"
|
|
151
|
-
`lib/sqa/portfolio.rb:27`
|
|
151
|
+
[`lib/sqa/portfolio.rb:27`](https://github.com/madbomber/sqa/blob/main/lib/sqa/portfolio.rb#L27)
|
|
152
152
|
|
|
153
153
|
---
|
|
154
154
|
|
|
@@ -166,7 +166,7 @@ Returns the value of attribute price
|
|
|
166
166
|
the current value of price
|
|
167
167
|
|
|
168
168
|
??? info "Source Location"
|
|
169
|
-
`lib/sqa/portfolio.rb:27`
|
|
169
|
+
[`lib/sqa/portfolio.rb:27`](https://github.com/madbomber/sqa/blob/main/lib/sqa/portfolio.rb#L27)
|
|
170
170
|
|
|
171
171
|
---
|
|
172
172
|
|
|
@@ -188,7 +188,7 @@ Sets the attribute date
|
|
|
188
188
|
the newly set value
|
|
189
189
|
|
|
190
190
|
??? info "Source Location"
|
|
191
|
-
`lib/sqa/portfolio.rb:27`
|
|
191
|
+
[`lib/sqa/portfolio.rb:27`](https://github.com/madbomber/sqa/blob/main/lib/sqa/portfolio.rb#L27)
|
|
192
192
|
|
|
193
193
|
---
|
|
194
194
|
|
|
@@ -206,7 +206,7 @@ Returns the value of attribute date
|
|
|
206
206
|
the current value of date
|
|
207
207
|
|
|
208
208
|
??? info "Source Location"
|
|
209
|
-
`lib/sqa/portfolio.rb:27`
|
|
209
|
+
[`lib/sqa/portfolio.rb:27`](https://github.com/madbomber/sqa/blob/main/lib/sqa/portfolio.rb#L27)
|
|
210
210
|
|
|
211
211
|
---
|
|
212
212
|
|
|
@@ -228,7 +228,7 @@ Sets the attribute total
|
|
|
228
228
|
the newly set value
|
|
229
229
|
|
|
230
230
|
??? info "Source Location"
|
|
231
|
-
`lib/sqa/portfolio.rb:27`
|
|
231
|
+
[`lib/sqa/portfolio.rb:27`](https://github.com/madbomber/sqa/blob/main/lib/sqa/portfolio.rb#L27)
|
|
232
232
|
|
|
233
233
|
---
|
|
234
234
|
|
|
@@ -246,7 +246,7 @@ Returns the value of attribute total
|
|
|
246
246
|
the current value of total
|
|
247
247
|
|
|
248
248
|
??? info "Source Location"
|
|
249
|
-
`lib/sqa/portfolio.rb:27`
|
|
249
|
+
[`lib/sqa/portfolio.rb:27`](https://github.com/madbomber/sqa/blob/main/lib/sqa/portfolio.rb#L27)
|
|
250
250
|
|
|
251
251
|
---
|
|
252
252
|
|
|
@@ -268,7 +268,7 @@ Sets the attribute commission
|
|
|
268
268
|
the newly set value
|
|
269
269
|
|
|
270
270
|
??? info "Source Location"
|
|
271
|
-
`lib/sqa/portfolio.rb:27`
|
|
271
|
+
[`lib/sqa/portfolio.rb:27`](https://github.com/madbomber/sqa/blob/main/lib/sqa/portfolio.rb#L27)
|
|
272
272
|
|
|
273
273
|
---
|
|
274
274
|
|
|
@@ -286,7 +286,7 @@ Returns the value of attribute commission
|
|
|
286
286
|
the current value of commission
|
|
287
287
|
|
|
288
288
|
??? info "Source Location"
|
|
289
|
-
`lib/sqa/portfolio.rb:27`
|
|
289
|
+
[`lib/sqa/portfolio.rb:27`](https://github.com/madbomber/sqa/blob/main/lib/sqa/portfolio.rb#L27)
|
|
290
290
|
|
|
291
291
|
---
|
|
292
292
|
|
|
@@ -296,7 +296,7 @@ Returns the value of attribute commission
|
|
|
296
296
|
|
|
297
297
|
|
|
298
298
|
??? info "Source Location"
|
|
299
|
-
`lib/sqa/portfolio.rb:28`
|
|
299
|
+
[`lib/sqa/portfolio.rb:28`](https://github.com/madbomber/sqa/blob/main/lib/sqa/portfolio.rb#L28)
|
|
300
300
|
|
|
301
301
|
---
|
|
302
302
|
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
- Maximum Sharpe portfolio
|
|
13
13
|
|
|
14
14
|
!!! abstract "Source Information"
|
|
15
|
-
**Defined in:** `lib/sqa/portfolio_optimizer.rb:25`
|
|
15
|
+
**Defined in:** [`lib/sqa/portfolio_optimizer.rb:25`](https://github.com/madbomber/sqa/blob/main/lib/sqa/portfolio_optimizer.rb#L25)
|
|
16
16
|
|
|
17
17
|
**Inherits from:** `Object`
|
|
18
18
|
|
|
@@ -37,7 +37,7 @@ Calculate portfolio returns given weights
|
|
|
37
37
|
Portfolio returns over time
|
|
38
38
|
|
|
39
39
|
??? info "Source Location"
|
|
40
|
-
`lib/sqa/portfolio_optimizer.rb:34`
|
|
40
|
+
[`lib/sqa/portfolio_optimizer.rb:34`](https://github.com/madbomber/sqa/blob/main/lib/sqa/portfolio_optimizer.rb#L34)
|
|
41
41
|
|
|
42
42
|
---
|
|
43
43
|
|
|
@@ -60,7 +60,7 @@ Calculate portfolio variance
|
|
|
60
60
|
Portfolio variance
|
|
61
61
|
|
|
62
62
|
??? info "Source Location"
|
|
63
|
-
`lib/sqa/portfolio_optimizer.rb:51`
|
|
63
|
+
[`lib/sqa/portfolio_optimizer.rb:51`](https://github.com/madbomber/sqa/blob/main/lib/sqa/portfolio_optimizer.rb#L51)
|
|
64
64
|
|
|
65
65
|
---
|
|
66
66
|
|
|
@@ -86,7 +86,7 @@ Uses numerical optimization to find weights that maximize Sharpe ratio.
|
|
|
86
86
|
{ weights: Array, sharpe: Float, return: Float, volatility: Float }
|
|
87
87
|
|
|
88
88
|
??? info "Source Location"
|
|
89
|
-
`lib/sqa/portfolio_optimizer.rb:75`
|
|
89
|
+
[`lib/sqa/portfolio_optimizer.rb:75`](https://github.com/madbomber/sqa/blob/main/lib/sqa/portfolio_optimizer.rb#L75)
|
|
90
90
|
|
|
91
91
|
---
|
|
92
92
|
|
|
@@ -109,7 +109,7 @@ Find Minimum Variance portfolio
|
|
|
109
109
|
{ weights: Array, variance: Float, volatility: Float }
|
|
110
110
|
|
|
111
111
|
??? info "Source Location"
|
|
112
|
-
`lib/sqa/portfolio_optimizer.rb:114`
|
|
112
|
+
[`lib/sqa/portfolio_optimizer.rb:114`](https://github.com/madbomber/sqa/blob/main/lib/sqa/portfolio_optimizer.rb#L114)
|
|
113
113
|
|
|
114
114
|
---
|
|
115
115
|
|
|
@@ -133,7 +133,7 @@ Allocate weights so each asset contributes equally to portfolio risk.
|
|
|
133
133
|
{ weights: Array, volatility: Float }
|
|
134
134
|
|
|
135
135
|
??? info "Source Location"
|
|
136
|
-
`lib/sqa/portfolio_optimizer.rb:146`
|
|
136
|
+
[`lib/sqa/portfolio_optimizer.rb:146`](https://github.com/madbomber/sqa/blob/main/lib/sqa/portfolio_optimizer.rb#L146)
|
|
137
137
|
|
|
138
138
|
---
|
|
139
139
|
|
|
@@ -158,7 +158,7 @@ Generate portfolios along the efficient frontier.
|
|
|
158
158
|
Array of portfolio hashes
|
|
159
159
|
|
|
160
160
|
??? info "Source Location"
|
|
161
|
-
`lib/sqa/portfolio_optimizer.rb:175`
|
|
161
|
+
[`lib/sqa/portfolio_optimizer.rb:175`](https://github.com/madbomber/sqa/blob/main/lib/sqa/portfolio_optimizer.rb#L175)
|
|
162
162
|
|
|
163
163
|
---
|
|
164
164
|
|
|
@@ -194,7 +194,7 @@ Optimize portfolio for multiple objectives simultaneously.
|
|
|
194
194
|
)
|
|
195
195
|
```
|
|
196
196
|
??? info "Source Location"
|
|
197
|
-
`lib/sqa/portfolio_optimizer.rb:217`
|
|
197
|
+
[`lib/sqa/portfolio_optimizer.rb:217`](https://github.com/madbomber/sqa/blob/main/lib/sqa/portfolio_optimizer.rb#L217)
|
|
198
198
|
|
|
199
199
|
---
|
|
200
200
|
|
|
@@ -216,7 +216,7 @@ Equal weight portfolio (1/N rule)
|
|
|
216
216
|
Equal weights
|
|
217
217
|
|
|
218
218
|
??? info "Source Location"
|
|
219
|
-
`lib/sqa/portfolio_optimizer.rb:285`
|
|
219
|
+
[`lib/sqa/portfolio_optimizer.rb:285`](https://github.com/madbomber/sqa/blob/main/lib/sqa/portfolio_optimizer.rb#L285)
|
|
220
220
|
|
|
221
221
|
---
|
|
222
222
|
|
|
@@ -240,7 +240,7 @@ Rebalance portfolio to target weights
|
|
|
240
240
|
Rebalancing trades { ticker => { action: :buy/:sell, shares: N, value: $ } }
|
|
241
241
|
|
|
242
242
|
??? info "Source Location"
|
|
243
|
-
`lib/sqa/portfolio_optimizer.rb:298`
|
|
243
|
+
[`lib/sqa/portfolio_optimizer.rb:298`](https://github.com/madbomber/sqa/blob/main/lib/sqa/portfolio_optimizer.rb#L298)
|
|
244
244
|
|
|
245
245
|
---
|
|
246
246
|
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
- Stop loss calculations
|
|
12
12
|
|
|
13
13
|
!!! abstract "Source Information"
|
|
14
|
-
**Defined in:** `lib/sqa/risk_manager.rb:29`
|
|
14
|
+
**Defined in:** [`lib/sqa/risk_manager.rb:29`](https://github.com/madbomber/sqa/blob/main/lib/sqa/risk_manager.rb#L29)
|
|
15
15
|
|
|
16
16
|
**Inherits from:** `Object`
|
|
17
17
|
|
|
@@ -47,7 +47,7 @@ at a specified confidence level.
|
|
|
47
47
|
# => -0.02 (2% maximum expected loss at 95% confidence)
|
|
48
48
|
```
|
|
49
49
|
??? info "Source Location"
|
|
50
|
-
`lib/sqa/risk_manager.rb:48`
|
|
50
|
+
[`lib/sqa/risk_manager.rb:48`](https://github.com/madbomber/sqa/blob/main/lib/sqa/risk_manager.rb#L48)
|
|
51
51
|
|
|
52
52
|
---
|
|
53
53
|
|
|
@@ -78,7 +78,7 @@ It provides a more conservative risk measure than VaR.
|
|
|
78
78
|
# => -0.025 (2.5% expected loss in worst 5% of cases)
|
|
79
79
|
```
|
|
80
80
|
??? info "Source Location"
|
|
81
|
-
`lib/sqa/risk_manager.rb:77`
|
|
81
|
+
[`lib/sqa/risk_manager.rb:77`](https://github.com/madbomber/sqa/blob/main/lib/sqa/risk_manager.rb#L77)
|
|
82
82
|
|
|
83
83
|
---
|
|
84
84
|
|
|
@@ -124,7 +124,7 @@ where:
|
|
|
124
124
|
)
|
|
125
125
|
```
|
|
126
126
|
??? info "Source Location"
|
|
127
|
-
`lib/sqa/risk_manager.rb:116`
|
|
127
|
+
[`lib/sqa/risk_manager.rb:116`](https://github.com/madbomber/sqa/blob/main/lib/sqa/risk_manager.rb#L116)
|
|
128
128
|
|
|
129
129
|
---
|
|
130
130
|
|
|
@@ -155,7 +155,7 @@ Simple and conservative approach.
|
|
|
155
155
|
# => 200.0 (risk $200 per trade)
|
|
156
156
|
```
|
|
157
157
|
??? info "Source Location"
|
|
158
|
-
`lib/sqa/risk_manager.rb:146`
|
|
158
|
+
[`lib/sqa/risk_manager.rb:146`](https://github.com/madbomber/sqa/blob/main/lib/sqa/risk_manager.rb#L146)
|
|
159
159
|
|
|
160
160
|
---
|
|
161
161
|
|
|
@@ -192,7 +192,7 @@ Higher volatility = smaller position size.
|
|
|
192
192
|
)
|
|
193
193
|
```
|
|
194
194
|
??? info "Source Location"
|
|
195
|
-
`lib/sqa/risk_manager.rb:170`
|
|
195
|
+
[`lib/sqa/risk_manager.rb:170`](https://github.com/madbomber/sqa/blob/main/lib/sqa/risk_manager.rb#L170)
|
|
196
196
|
|
|
197
197
|
---
|
|
198
198
|
|
|
@@ -227,7 +227,7 @@ Calculate stop loss price based on ATR (Average True Range)
|
|
|
227
227
|
# => 143.0 (stop at current - 2*ATR)
|
|
228
228
|
```
|
|
229
229
|
??? info "Source Location"
|
|
230
|
-
`lib/sqa/risk_manager.rb:204`
|
|
230
|
+
[`lib/sqa/risk_manager.rb:204`](https://github.com/madbomber/sqa/blob/main/lib/sqa/risk_manager.rb#L204)
|
|
231
231
|
|
|
232
232
|
---
|
|
233
233
|
|
|
@@ -256,7 +256,7 @@ Drawdown is the peak-to-trough decline in portfolio value.
|
|
|
256
256
|
# => { max_drawdown: -0.136, peak_idx: 1, trough_idx: 3 }
|
|
257
257
|
```
|
|
258
258
|
??? info "Source Location"
|
|
259
|
-
`lib/sqa/risk_manager.rb:224`
|
|
259
|
+
[`lib/sqa/risk_manager.rb:224`](https://github.com/madbomber/sqa/blob/main/lib/sqa/risk_manager.rb#L224)
|
|
260
260
|
|
|
261
261
|
---
|
|
262
262
|
|
|
@@ -286,7 +286,7 @@ Measures risk-adjusted return (excess return per unit of risk).
|
|
|
286
286
|
sharpe = SQA::RiskManager.sharpe_ratio(returns, risk_free_rate: 0.02)
|
|
287
287
|
```
|
|
288
288
|
??? info "Source Location"
|
|
289
|
-
`lib/sqa/risk_manager.rb:269`
|
|
289
|
+
[`lib/sqa/risk_manager.rb:269`](https://github.com/madbomber/sqa/blob/main/lib/sqa/risk_manager.rb#L269)
|
|
290
290
|
|
|
291
291
|
---
|
|
292
292
|
|
|
@@ -316,7 +316,7 @@ Like Sharpe ratio but only penalizes downside volatility.
|
|
|
316
316
|
sortino = SQA::RiskManager.sortino_ratio(returns)
|
|
317
317
|
```
|
|
318
318
|
??? info "Source Location"
|
|
319
|
-
`lib/sqa/risk_manager.rb:294`
|
|
319
|
+
[`lib/sqa/risk_manager.rb:294`](https://github.com/madbomber/sqa/blob/main/lib/sqa/risk_manager.rb#L294)
|
|
320
320
|
|
|
321
321
|
---
|
|
322
322
|
|
|
@@ -345,7 +345,7 @@ Ratio of annualized return to maximum drawdown.
|
|
|
345
345
|
calmar = SQA::RiskManager.calmar_ratio(returns)
|
|
346
346
|
```
|
|
347
347
|
??? info "Source Location"
|
|
348
|
-
`lib/sqa/risk_manager.rb:325`
|
|
348
|
+
[`lib/sqa/risk_manager.rb:325`](https://github.com/madbomber/sqa/blob/main/lib/sqa/risk_manager.rb#L325)
|
|
349
349
|
|
|
350
350
|
---
|
|
351
351
|
|
|
@@ -380,7 +380,7 @@ Monte Carlo simulation for portfolio value
|
|
|
380
380
|
puts "95th percentile: $#{results[:percentile_95]}"
|
|
381
381
|
```
|
|
382
382
|
??? info "Source Location"
|
|
383
|
-
`lib/sqa/risk_manager.rb:360`
|
|
383
|
+
[`lib/sqa/risk_manager.rb:360`](https://github.com/madbomber/sqa/blob/main/lib/sqa/risk_manager.rb#L360)
|
|
384
384
|
|
|
385
385
|
---
|
|
386
386
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# 🔧 SQA::SeasonalAnalyzer
|
|
2
2
|
|
|
3
3
|
!!! abstract "Source Information"
|
|
4
|
-
**Defined in:** `lib/sqa/seasonal_analyzer.rb:18`
|
|
4
|
+
**Defined in:** [`lib/sqa/seasonal_analyzer.rb:18`](https://github.com/madbomber/sqa/blob/main/lib/sqa/seasonal_analyzer.rb#L18)
|
|
5
5
|
|
|
6
6
|
## 🏭 Class Methods
|
|
7
7
|
|
|
@@ -23,7 +23,7 @@ Analyze seasonal performance patterns
|
|
|
23
23
|
Seasonal performance metadata
|
|
24
24
|
|
|
25
25
|
??? info "Source Location"
|
|
26
|
-
`lib/sqa/seasonal_analyzer.rb:25`
|
|
26
|
+
[`lib/sqa/seasonal_analyzer.rb:25`](https://github.com/madbomber/sqa/blob/main/lib/sqa/seasonal_analyzer.rb#L25)
|
|
27
27
|
|
|
28
28
|
---
|
|
29
29
|
|
|
@@ -46,7 +46,7 @@ Filter data by calendar months
|
|
|
46
46
|
Filtered data
|
|
47
47
|
|
|
48
48
|
??? info "Source Location"
|
|
49
|
-
`lib/sqa/seasonal_analyzer.rb:56`
|
|
49
|
+
[`lib/sqa/seasonal_analyzer.rb:56`](https://github.com/madbomber/sqa/blob/main/lib/sqa/seasonal_analyzer.rb#L56)
|
|
50
50
|
|
|
51
51
|
---
|
|
52
52
|
|
|
@@ -69,7 +69,7 @@ Filter data by quarters
|
|
|
69
69
|
Filtered data
|
|
70
70
|
|
|
71
71
|
??? info "Source Location"
|
|
72
|
-
`lib/sqa/seasonal_analyzer.rb:82`
|
|
72
|
+
[`lib/sqa/seasonal_analyzer.rb:82`](https://github.com/madbomber/sqa/blob/main/lib/sqa/seasonal_analyzer.rb#L82)
|
|
73
73
|
|
|
74
74
|
---
|
|
75
75
|
|
|
@@ -91,7 +91,7 @@ Detect if stock has seasonal pattern
|
|
|
91
91
|
True if significant seasonal pattern exists
|
|
92
92
|
|
|
93
93
|
??? info "Source Location"
|
|
94
|
-
`lib/sqa/seasonal_analyzer.rb:99`
|
|
94
|
+
[`lib/sqa/seasonal_analyzer.rb:99`](https://github.com/madbomber/sqa/blob/main/lib/sqa/seasonal_analyzer.rb#L99)
|
|
95
95
|
|
|
96
96
|
---
|
|
97
97
|
|
|
@@ -113,7 +113,7 @@ Get seasonal context for a specific date
|
|
|
113
113
|
Seasonal context
|
|
114
114
|
|
|
115
115
|
??? info "Source Location"
|
|
116
|
-
`lib/sqa/seasonal_analyzer.rb:116`
|
|
116
|
+
[`lib/sqa/seasonal_analyzer.rb:116`](https://github.com/madbomber/sqa/blob/main/lib/sqa/seasonal_analyzer.rb#L116)
|
|
117
117
|
|
|
118
118
|
---
|
|
119
119
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# 📦 SQA::SectorAnalyzer
|
|
2
2
|
|
|
3
3
|
!!! abstract "Source Information"
|
|
4
|
-
**Defined in:** `lib/sqa/sector_analyzer.rb:26`
|
|
4
|
+
**Defined in:** [`lib/sqa/sector_analyzer.rb:26`](https://github.com/madbomber/sqa/blob/main/lib/sqa/sector_analyzer.rb#L26)
|
|
5
5
|
|
|
6
6
|
**Inherits from:** `Object`
|
|
7
7
|
|
|
@@ -15,7 +15,7 @@ Returns the value of attribute blackboards.
|
|
|
15
15
|
|
|
16
16
|
|
|
17
17
|
??? info "Source Location"
|
|
18
|
-
`lib/sqa/sector_analyzer.rb:40`
|
|
18
|
+
[`lib/sqa/sector_analyzer.rb:40`](https://github.com/madbomber/sqa/blob/main/lib/sqa/sector_analyzer.rb#L40)
|
|
19
19
|
|
|
20
20
|
---
|
|
21
21
|
|
|
@@ -27,7 +27,7 @@ Returns the value of attribute stocks_by_sector.
|
|
|
27
27
|
|
|
28
28
|
|
|
29
29
|
??? info "Source Location"
|
|
30
|
-
`lib/sqa/sector_analyzer.rb:40`
|
|
30
|
+
[`lib/sqa/sector_analyzer.rb:40`](https://github.com/madbomber/sqa/blob/main/lib/sqa/sector_analyzer.rb#L40)
|
|
31
31
|
|
|
32
32
|
---
|
|
33
33
|
|
|
@@ -43,7 +43,7 @@ Returns the value of attribute stocks_by_sector.
|
|
|
43
43
|
a new instance of SectorAnalyzer
|
|
44
44
|
|
|
45
45
|
??? info "Source Location"
|
|
46
|
-
`lib/sqa/sector_analyzer.rb:42`
|
|
46
|
+
[`lib/sqa/sector_analyzer.rb:42`](https://github.com/madbomber/sqa/blob/main/lib/sqa/sector_analyzer.rb#L42)
|
|
47
47
|
|
|
48
48
|
---
|
|
49
49
|
|
|
@@ -60,7 +60,7 @@ Add a stock to sector analysis
|
|
|
60
60
|
|
|
61
61
|
|
|
62
62
|
??? info "Source Location"
|
|
63
|
-
`lib/sqa/sector_analyzer.rb:62`
|
|
63
|
+
[`lib/sqa/sector_analyzer.rb:62`](https://github.com/madbomber/sqa/blob/main/lib/sqa/sector_analyzer.rb#L62)
|
|
64
64
|
|
|
65
65
|
---
|
|
66
66
|
|
|
@@ -84,7 +84,7 @@ Discover patterns for an entire sector
|
|
|
84
84
|
Sector-wide patterns
|
|
85
85
|
|
|
86
86
|
??? info "Source Location"
|
|
87
|
-
`lib/sqa/sector_analyzer.rb:86`
|
|
87
|
+
[`lib/sqa/sector_analyzer.rb:86`](https://github.com/madbomber/sqa/blob/main/lib/sqa/sector_analyzer.rb#L86)
|
|
88
88
|
|
|
89
89
|
---
|
|
90
90
|
|
|
@@ -107,7 +107,7 @@ Detect sector regime
|
|
|
107
107
|
Sector regime information
|
|
108
108
|
|
|
109
109
|
??? info "Source Location"
|
|
110
|
-
`lib/sqa/sector_analyzer.rb:146`
|
|
110
|
+
[`lib/sqa/sector_analyzer.rb:146`](https://github.com/madbomber/sqa/blob/main/lib/sqa/sector_analyzer.rb#L146)
|
|
111
111
|
|
|
112
112
|
---
|
|
113
113
|
|
|
@@ -131,7 +131,7 @@ Query sector blackboard
|
|
|
131
131
|
Matching facts
|
|
132
132
|
|
|
133
133
|
??? info "Source Location"
|
|
134
|
-
`lib/sqa/sector_analyzer.rb:190`
|
|
134
|
+
[`lib/sqa/sector_analyzer.rb:190`](https://github.com/madbomber/sqa/blob/main/lib/sqa/sector_analyzer.rb#L190)
|
|
135
135
|
|
|
136
136
|
---
|
|
137
137
|
|
|
@@ -147,7 +147,7 @@ Print sector summary
|
|
|
147
147
|
|
|
148
148
|
|
|
149
149
|
??? info "Source Location"
|
|
150
|
-
`lib/sqa/sector_analyzer.rb:202`
|
|
150
|
+
[`lib/sqa/sector_analyzer.rb:202`](https://github.com/madbomber/sqa/blob/main/lib/sqa/sector_analyzer.rb#L202)
|
|
151
151
|
|
|
152
152
|
---
|
|
153
153
|
|