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.
Files changed (63) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +62 -0
  3. data/docs/api-reference/alphavantageapi.md +105 -105
  4. data/docs/api-reference/apierror.md +2 -2
  5. data/docs/api-reference/index.md +2 -2
  6. data/docs/api-reference/notimplemented.md +2 -2
  7. data/docs/api-reference/sqa.md +12 -12
  8. data/docs/api-reference/sqa_backtest.md +43 -9
  9. data/docs/api-reference/sqa_backtest_results.md +34 -34
  10. data/docs/api-reference/sqa_badparametererror.md +1 -1
  11. data/docs/api-reference/sqa_config.md +31 -31
  12. data/docs/api-reference/sqa_configurationerror.md +1 -1
  13. data/docs/api-reference/sqa_datafetcherror.md +3 -3
  14. data/docs/api-reference/sqa_dataframe.md +63 -36
  15. data/docs/api-reference/sqa_dataframe_alphavantage.md +2 -2
  16. data/docs/api-reference/sqa_dataframe_data.md +18 -18
  17. data/docs/api-reference/sqa_dataframe_yahoofinance.md +2 -2
  18. data/docs/api-reference/sqa_ensemble.md +21 -21
  19. data/docs/api-reference/sqa_fpop.md +8 -8
  20. data/docs/api-reference/sqa_geneticprogram.md +20 -20
  21. data/docs/api-reference/sqa_geneticprogram_individual.md +8 -8
  22. data/docs/api-reference/sqa_marketregime.md +10 -10
  23. data/docs/api-reference/sqa_multitimeframe.md +11 -11
  24. data/docs/api-reference/sqa_patternmatcher.md +9 -9
  25. data/docs/api-reference/sqa_pluginmanager.md +4 -4
  26. data/docs/api-reference/sqa_portfolio.md +84 -27
  27. data/docs/api-reference/sqa_portfolio_position.md +12 -12
  28. data/docs/api-reference/sqa_portfolio_trade.md +16 -16
  29. data/docs/api-reference/sqa_portfoliooptimizer.md +10 -10
  30. data/docs/api-reference/sqa_riskmanager.md +12 -12
  31. data/docs/api-reference/sqa_seasonalanalyzer.md +6 -6
  32. data/docs/api-reference/sqa_sectoranalyzer.md +9 -9
  33. data/docs/api-reference/sqa_stock.md +48 -36
  34. data/docs/api-reference/sqa_strategy.md +8 -8
  35. data/docs/api-reference/sqa_strategy_bollingerbands.md +2 -2
  36. data/docs/api-reference/sqa_strategy_common.md +3 -3
  37. data/docs/api-reference/sqa_strategy_consensus.md +12 -12
  38. data/docs/api-reference/sqa_strategy_ema.md +4 -4
  39. data/docs/api-reference/sqa_strategy_kbs.md +11 -11
  40. data/docs/api-reference/sqa_strategy_macd.md +2 -2
  41. data/docs/api-reference/sqa_strategy_mp.md +4 -4
  42. data/docs/api-reference/sqa_strategy_mr.md +4 -4
  43. data/docs/api-reference/sqa_strategy_random.md +4 -4
  44. data/docs/api-reference/sqa_strategy_rsi.md +4 -4
  45. data/docs/api-reference/sqa_strategy_sma.md +4 -4
  46. data/docs/api-reference/sqa_strategy_stochastic.md +2 -2
  47. data/docs/api-reference/sqa_strategy_volumebreakout.md +2 -2
  48. data/docs/api-reference/sqa_strategygenerator.md +19 -19
  49. data/docs/api-reference/sqa_strategygenerator_pattern.md +17 -17
  50. data/docs/api-reference/sqa_strategygenerator_patterncontext.md +21 -21
  51. data/docs/api-reference/sqa_strategygenerator_profitablepoint.md +27 -27
  52. data/docs/api-reference/sqa_stream.md +18 -18
  53. data/docs/api-reference/sqa_ticker.md +8 -8
  54. data/docs/api-reference/string.md +11 -11
  55. data/docs/file_formats.md +250 -0
  56. data/lib/sqa/backtest.rb +32 -0
  57. data/lib/sqa/data_frame.rb +25 -0
  58. data/lib/sqa/portfolio.rb +54 -0
  59. data/lib/sqa/stock.rb +11 -0
  60. data/lib/sqa/version.rb +1 -1
  61. data/mkdocs.yml +1 -0
  62. metadata +2 -2
  63. data/docs/IMPROVEMENT_PLAN.md +0 -531
@@ -5,7 +5,7 @@
5
5
  Automatically logs the error using debug_me before raising.
6
6
 
7
7
  !!! abstract "Source Information"
8
- **Defined in:** `lib/sqa/errors.rb:67`
8
+ **Defined in:** [`lib/sqa/errors.rb:67`](https://github.com/madbomber/sqa/blob/main/lib/sqa/errors.rb#L67)
9
9
 
10
10
  **Inherits from:** `RuntimeError`
11
11
 
@@ -23,7 +23,7 @@ Raises an ApiError with debug logging.
23
23
 
24
24
 
25
25
  ??? info "Source Location"
26
- `lib/sqa/errors.rb:72`
26
+ [`lib/sqa/errors.rb:72`](https://github.com/madbomber/sqa/blob/main/lib/sqa/errors.rb#L72)
27
27
 
28
28
  ---
29
29
 
@@ -4,7 +4,7 @@ Complete API documentation for all SQA classes and modules.
4
4
 
5
5
  !!! tip "Auto-Generated Documentation"
6
6
  This documentation is automatically generated from YARD comments in the source code.
7
- Last updated: 2025-11-24 14:46:25
7
+ Last updated: 2025-11-24 17:07:39
8
8
 
9
9
  ## 🎯 SQA
10
10
 
@@ -33,7 +33,7 @@ Complete API documentation for all SQA classes and modules.
33
33
  ### [📦 **DataFrame**](sqa_dataframe.md)
34
34
 
35
35
  !!! abstract ""
36
- The website financial.yahoo.com no longer supports an API.
36
+ High-performance DataFrame wrapper around Polars for time series data manipulation.
37
37
 
38
38
  ### [📦 **Ensemble**](sqa_ensemble.md)
39
39
 
@@ -5,7 +5,7 @@
5
5
  Automatically logs using debug_me before raising.
6
6
 
7
7
  !!! abstract "Source Information"
8
- **Defined in:** `lib/sqa/errors.rb:84`
8
+ **Defined in:** [`lib/sqa/errors.rb:84`](https://github.com/madbomber/sqa/blob/main/lib/sqa/errors.rb#L84)
9
9
 
10
10
  **Inherits from:** `RuntimeError`
11
11
 
@@ -19,7 +19,7 @@ Raises a NotImplemented error with debug logging.
19
19
 
20
20
 
21
21
  ??? info "Source Location"
22
- `lib/sqa/errors.rb:88`
22
+ [`lib/sqa/errors.rb:88`](https://github.com/madbomber/sqa/blob/main/lib/sqa/errors.rb#L88)
23
23
 
24
24
  ---
25
25
 
@@ -40,7 +40,7 @@
40
40
  Note: Use 'kb.assert' (not just 'assert') in perform blocks to access the knowledge base.
41
41
 
42
42
  !!! abstract "Source Information"
43
- **Defined in:** `lib/sqa/gp.rb:34`
43
+ **Defined in:** [`lib/sqa/gp.rb:34`](https://github.com/madbomber/sqa/blob/main/lib/sqa/gp.rb#L34)
44
44
 
45
45
  ## 🏭 Class Methods
46
46
 
@@ -56,7 +56,7 @@ Sets the attribute config
56
56
 
57
57
 
58
58
  ??? info "Source Location"
59
- `lib/sqa/init.rb:22`
59
+ [`lib/sqa/init.rb:22`](https://github.com/madbomber/sqa/blob/main/lib/sqa/init.rb#L22)
60
60
 
61
61
  ---
62
62
 
@@ -84,7 +84,7 @@ Should be called once at application startup.
84
84
  SQA.init("--debug --verbose")
85
85
  ```
86
86
  ??? info "Source Location"
87
- `lib/sqa/init.rb:34`
87
+ [`lib/sqa/init.rb:34`](https://github.com/madbomber/sqa/blob/main/lib/sqa/init.rb#L34)
88
88
 
89
89
  ---
90
90
 
@@ -103,7 +103,7 @@ Reads from AV_API_KEY or ALPHAVANTAGE_API_KEY environment variables.
103
103
  The API key
104
104
 
105
105
  ??? info "Source Location"
106
- `lib/sqa/init.rb:61`
106
+ [`lib/sqa/init.rb:61`](https://github.com/madbomber/sqa/blob/main/lib/sqa/init.rb#L61)
107
107
 
108
108
  ---
109
109
 
@@ -125,7 +125,7 @@ Sets the Alpha Vantage API key.
125
125
  The key that was set
126
126
 
127
127
  ??? info "Source Location"
128
- `lib/sqa/init.rb:70`
128
+ [`lib/sqa/init.rb:70`](https://github.com/madbomber/sqa/blob/main/lib/sqa/init.rb#L70)
129
129
 
130
130
  ---
131
131
 
@@ -143,7 +143,7 @@ Legacy accessor for backward compatibility with SQA.av.key usage.
143
143
  Self, to allow SQA.av.key calls
144
144
 
145
145
  ??? info "Source Location"
146
- `lib/sqa/init.rb:77`
146
+ [`lib/sqa/init.rb:77`](https://github.com/madbomber/sqa/blob/main/lib/sqa/init.rb#L77)
147
147
 
148
148
  ---
149
149
 
@@ -161,7 +161,7 @@ Returns the API key for compatibility with old SQA.av.key usage.
161
161
  The API key
162
162
 
163
163
  ??? info "Source Location"
164
- `lib/sqa/init.rb:85`
164
+ [`lib/sqa/init.rb:85`](https://github.com/madbomber/sqa/blob/main/lib/sqa/init.rb#L85)
165
165
 
166
166
  ---
167
167
 
@@ -179,7 +179,7 @@ Returns whether debug mode is enabled.
179
179
  true if debug mode is on
180
180
 
181
181
  ??? info "Source Location"
182
- `lib/sqa/init.rb:91`
182
+ [`lib/sqa/init.rb:91`](https://github.com/madbomber/sqa/blob/main/lib/sqa/init.rb#L91)
183
183
 
184
184
  ---
185
185
 
@@ -197,7 +197,7 @@ Returns whether verbose mode is enabled.
197
197
  true if verbose mode is on
198
198
 
199
199
  ??? info "Source Location"
200
- `lib/sqa/init.rb:95`
200
+ [`lib/sqa/init.rb:95`](https://github.com/madbomber/sqa/blob/main/lib/sqa/init.rb#L95)
201
201
 
202
202
  ---
203
203
 
@@ -219,7 +219,7 @@ Expands ~ to user's home directory in filepath.
219
219
  Path with ~ expanded
220
220
 
221
221
  ??? info "Source Location"
222
- `lib/sqa/init.rb:101`
222
+ [`lib/sqa/init.rb:101`](https://github.com/madbomber/sqa/blob/main/lib/sqa/init.rb#L101)
223
223
 
224
224
  ---
225
225
 
@@ -237,7 +237,7 @@ Returns the data directory as a Pathname.
237
237
  Data directory path
238
238
 
239
239
  ??? info "Source Location"
240
- `lib/sqa/init.rb:106`
240
+ [`lib/sqa/init.rb:106`](https://github.com/madbomber/sqa/blob/main/lib/sqa/init.rb#L106)
241
241
 
242
242
  ---
243
243
 
@@ -255,7 +255,7 @@ Returns the current configuration.
255
255
  Configuration instance
256
256
 
257
257
  ??? info "Source Location"
258
- `lib/sqa/init.rb:111`
258
+ [`lib/sqa/init.rb:111`](https://github.com/madbomber/sqa/blob/main/lib/sqa/init.rb#L111)
259
259
 
260
260
  ---
261
261
 
@@ -1,7 +1,7 @@
1
1
  # 📦 SQA::Backtest
2
2
 
3
3
  !!! abstract "Source Information"
4
- **Defined in:** `lib/sqa/backtest.rb:7`
4
+ **Defined in:** [`lib/sqa/backtest.rb:7`](https://github.com/madbomber/sqa/blob/main/lib/sqa/backtest.rb#L7)
5
5
 
6
6
  **Inherits from:** `Object`
7
7
 
@@ -15,7 +15,7 @@ Returns the value of attribute stock.
15
15
 
16
16
 
17
17
  ??? info "Source Location"
18
- `lib/sqa/backtest.rb:8`
18
+ [`lib/sqa/backtest.rb:8`](https://github.com/madbomber/sqa/blob/main/lib/sqa/backtest.rb#L8)
19
19
 
20
20
  ---
21
21
 
@@ -27,7 +27,7 @@ Returns the value of attribute strategy.
27
27
 
28
28
 
29
29
  ??? info "Source Location"
30
- `lib/sqa/backtest.rb:8`
30
+ [`lib/sqa/backtest.rb:8`](https://github.com/madbomber/sqa/blob/main/lib/sqa/backtest.rb#L8)
31
31
 
32
32
  ---
33
33
 
@@ -39,7 +39,7 @@ Returns the value of attribute portfolio.
39
39
 
40
40
 
41
41
  ??? info "Source Location"
42
- `lib/sqa/backtest.rb:8`
42
+ [`lib/sqa/backtest.rb:8`](https://github.com/madbomber/sqa/blob/main/lib/sqa/backtest.rb#L8)
43
43
 
44
44
  ---
45
45
 
@@ -51,7 +51,7 @@ Returns the value of attribute results.
51
51
 
52
52
 
53
53
  ??? info "Source Location"
54
- `lib/sqa/backtest.rb:8`
54
+ [`lib/sqa/backtest.rb:8`](https://github.com/madbomber/sqa/blob/main/lib/sqa/backtest.rb#L8)
55
55
 
56
56
  ---
57
57
 
@@ -63,7 +63,7 @@ Returns the value of attribute equity_curve.
63
63
 
64
64
 
65
65
  ??? info "Source Location"
66
- `lib/sqa/backtest.rb:8`
66
+ [`lib/sqa/backtest.rb:8`](https://github.com/madbomber/sqa/blob/main/lib/sqa/backtest.rb#L8)
67
67
 
68
68
  ---
69
69
 
@@ -91,7 +91,7 @@ Initialize a backtest
91
91
  a new instance of Backtest
92
92
 
93
93
  ??? info "Source Location"
94
- `lib/sqa/backtest.rb:85`
94
+ [`lib/sqa/backtest.rb:85`](https://github.com/madbomber/sqa/blob/main/lib/sqa/backtest.rb#L85)
95
95
 
96
96
  ---
97
97
 
@@ -107,9 +107,43 @@ Run the backtest
107
107
 
108
108
 
109
109
  Backtest results
110
-
110
+ !!! example "Usage Examples"
111
+
112
+ ```ruby
113
+ stock = SQA::Stock.new(ticker: 'AAPL')
114
+ backtest = SQA::Backtest.new(
115
+ stock: stock,
116
+ strategy: SQA::Strategy::RSI,
117
+ initial_capital: 10_000,
118
+ commission: 1.0
119
+ )
120
+ results = backtest.run
121
+ puts results.summary
122
+ # => Total Return: 15.5%
123
+ # Sharpe Ratio: 1.2
124
+ # Max Drawdown: -8.3%
125
+ # Win Rate: 65%
126
+ ```
127
+
128
+ ```ruby
129
+ backtest = SQA::Backtest.new(
130
+ stock: stock,
131
+ strategy: SQA::Strategy::MACD,
132
+ start_date: '2023-01-01',
133
+ end_date: '2023-12-31'
134
+ )
135
+ results = backtest.run
136
+ results.total_return # => 0.155 (15.5%)
137
+ ```
138
+
139
+ ```ruby
140
+ results = backtest.run
141
+ backtest.equity_curve.each do |point|
142
+ puts "#{point[:date]}: $#{point[:value]}"
143
+ end
144
+ ```
111
145
  ??? info "Source Location"
112
- `lib/sqa/backtest.rb:102`
146
+ [`lib/sqa/backtest.rb:102`](https://github.com/madbomber/sqa/blob/main/lib/sqa/backtest.rb#L102)
113
147
 
114
148
  ---
115
149
 
@@ -4,7 +4,7 @@
4
4
  Represents the results of a backtest
5
5
 
6
6
  !!! abstract "Source Information"
7
- **Defined in:** `lib/sqa/backtest.rb:11`
7
+ **Defined in:** [`lib/sqa/backtest.rb:11`](https://github.com/madbomber/sqa/blob/main/lib/sqa/backtest.rb#L11)
8
8
 
9
9
  **Inherits from:** `Object`
10
10
 
@@ -18,7 +18,7 @@ Returns the value of attribute total_return.
18
18
 
19
19
 
20
20
  ??? info "Source Location"
21
- `lib/sqa/backtest.rb:12`
21
+ [`lib/sqa/backtest.rb:12`](https://github.com/madbomber/sqa/blob/main/lib/sqa/backtest.rb#L12)
22
22
 
23
23
  ---
24
24
 
@@ -34,7 +34,7 @@ Sets the attribute total_return
34
34
 
35
35
 
36
36
  ??? info "Source Location"
37
- `lib/sqa/backtest.rb:12`
37
+ [`lib/sqa/backtest.rb:12`](https://github.com/madbomber/sqa/blob/main/lib/sqa/backtest.rb#L12)
38
38
 
39
39
  ---
40
40
 
@@ -46,7 +46,7 @@ Returns the value of attribute annualized_return.
46
46
 
47
47
 
48
48
  ??? info "Source Location"
49
- `lib/sqa/backtest.rb:12`
49
+ [`lib/sqa/backtest.rb:12`](https://github.com/madbomber/sqa/blob/main/lib/sqa/backtest.rb#L12)
50
50
 
51
51
  ---
52
52
 
@@ -62,7 +62,7 @@ Sets the attribute annualized_return
62
62
 
63
63
 
64
64
  ??? info "Source Location"
65
- `lib/sqa/backtest.rb:12`
65
+ [`lib/sqa/backtest.rb:12`](https://github.com/madbomber/sqa/blob/main/lib/sqa/backtest.rb#L12)
66
66
 
67
67
  ---
68
68
 
@@ -74,7 +74,7 @@ Returns the value of attribute sharpe_ratio.
74
74
 
75
75
 
76
76
  ??? info "Source Location"
77
- `lib/sqa/backtest.rb:12`
77
+ [`lib/sqa/backtest.rb:12`](https://github.com/madbomber/sqa/blob/main/lib/sqa/backtest.rb#L12)
78
78
 
79
79
  ---
80
80
 
@@ -90,7 +90,7 @@ Sets the attribute sharpe_ratio
90
90
 
91
91
 
92
92
  ??? info "Source Location"
93
- `lib/sqa/backtest.rb:12`
93
+ [`lib/sqa/backtest.rb:12`](https://github.com/madbomber/sqa/blob/main/lib/sqa/backtest.rb#L12)
94
94
 
95
95
  ---
96
96
 
@@ -102,7 +102,7 @@ Returns the value of attribute max_drawdown.
102
102
 
103
103
 
104
104
  ??? info "Source Location"
105
- `lib/sqa/backtest.rb:12`
105
+ [`lib/sqa/backtest.rb:12`](https://github.com/madbomber/sqa/blob/main/lib/sqa/backtest.rb#L12)
106
106
 
107
107
  ---
108
108
 
@@ -118,7 +118,7 @@ Sets the attribute max_drawdown
118
118
 
119
119
 
120
120
  ??? info "Source Location"
121
- `lib/sqa/backtest.rb:12`
121
+ [`lib/sqa/backtest.rb:12`](https://github.com/madbomber/sqa/blob/main/lib/sqa/backtest.rb#L12)
122
122
 
123
123
  ---
124
124
 
@@ -130,7 +130,7 @@ Returns the value of attribute total_trades.
130
130
 
131
131
 
132
132
  ??? info "Source Location"
133
- `lib/sqa/backtest.rb:12`
133
+ [`lib/sqa/backtest.rb:12`](https://github.com/madbomber/sqa/blob/main/lib/sqa/backtest.rb#L12)
134
134
 
135
135
  ---
136
136
 
@@ -146,7 +146,7 @@ Sets the attribute total_trades
146
146
 
147
147
 
148
148
  ??? info "Source Location"
149
- `lib/sqa/backtest.rb:12`
149
+ [`lib/sqa/backtest.rb:12`](https://github.com/madbomber/sqa/blob/main/lib/sqa/backtest.rb#L12)
150
150
 
151
151
  ---
152
152
 
@@ -158,7 +158,7 @@ Returns the value of attribute winning_trades.
158
158
 
159
159
 
160
160
  ??? info "Source Location"
161
- `lib/sqa/backtest.rb:12`
161
+ [`lib/sqa/backtest.rb:12`](https://github.com/madbomber/sqa/blob/main/lib/sqa/backtest.rb#L12)
162
162
 
163
163
  ---
164
164
 
@@ -174,7 +174,7 @@ Sets the attribute winning_trades
174
174
 
175
175
 
176
176
  ??? info "Source Location"
177
- `lib/sqa/backtest.rb:12`
177
+ [`lib/sqa/backtest.rb:12`](https://github.com/madbomber/sqa/blob/main/lib/sqa/backtest.rb#L12)
178
178
 
179
179
  ---
180
180
 
@@ -186,7 +186,7 @@ Returns the value of attribute losing_trades.
186
186
 
187
187
 
188
188
  ??? info "Source Location"
189
- `lib/sqa/backtest.rb:12`
189
+ [`lib/sqa/backtest.rb:12`](https://github.com/madbomber/sqa/blob/main/lib/sqa/backtest.rb#L12)
190
190
 
191
191
  ---
192
192
 
@@ -202,7 +202,7 @@ Sets the attribute losing_trades
202
202
 
203
203
 
204
204
  ??? info "Source Location"
205
- `lib/sqa/backtest.rb:12`
205
+ [`lib/sqa/backtest.rb:12`](https://github.com/madbomber/sqa/blob/main/lib/sqa/backtest.rb#L12)
206
206
 
207
207
  ---
208
208
 
@@ -214,7 +214,7 @@ Returns the value of attribute win_rate.
214
214
 
215
215
 
216
216
  ??? info "Source Location"
217
- `lib/sqa/backtest.rb:12`
217
+ [`lib/sqa/backtest.rb:12`](https://github.com/madbomber/sqa/blob/main/lib/sqa/backtest.rb#L12)
218
218
 
219
219
  ---
220
220
 
@@ -230,7 +230,7 @@ Sets the attribute win_rate
230
230
 
231
231
 
232
232
  ??? info "Source Location"
233
- `lib/sqa/backtest.rb:12`
233
+ [`lib/sqa/backtest.rb:12`](https://github.com/madbomber/sqa/blob/main/lib/sqa/backtest.rb#L12)
234
234
 
235
235
  ---
236
236
 
@@ -242,7 +242,7 @@ Returns the value of attribute average_win.
242
242
 
243
243
 
244
244
  ??? info "Source Location"
245
- `lib/sqa/backtest.rb:12`
245
+ [`lib/sqa/backtest.rb:12`](https://github.com/madbomber/sqa/blob/main/lib/sqa/backtest.rb#L12)
246
246
 
247
247
  ---
248
248
 
@@ -258,7 +258,7 @@ Sets the attribute average_win
258
258
 
259
259
 
260
260
  ??? info "Source Location"
261
- `lib/sqa/backtest.rb:12`
261
+ [`lib/sqa/backtest.rb:12`](https://github.com/madbomber/sqa/blob/main/lib/sqa/backtest.rb#L12)
262
262
 
263
263
  ---
264
264
 
@@ -270,7 +270,7 @@ Returns the value of attribute average_loss.
270
270
 
271
271
 
272
272
  ??? info "Source Location"
273
- `lib/sqa/backtest.rb:12`
273
+ [`lib/sqa/backtest.rb:12`](https://github.com/madbomber/sqa/blob/main/lib/sqa/backtest.rb#L12)
274
274
 
275
275
  ---
276
276
 
@@ -286,7 +286,7 @@ Sets the attribute average_loss
286
286
 
287
287
 
288
288
  ??? info "Source Location"
289
- `lib/sqa/backtest.rb:12`
289
+ [`lib/sqa/backtest.rb:12`](https://github.com/madbomber/sqa/blob/main/lib/sqa/backtest.rb#L12)
290
290
 
291
291
  ---
292
292
 
@@ -298,7 +298,7 @@ Returns the value of attribute profit_factor.
298
298
 
299
299
 
300
300
  ??? info "Source Location"
301
- `lib/sqa/backtest.rb:12`
301
+ [`lib/sqa/backtest.rb:12`](https://github.com/madbomber/sqa/blob/main/lib/sqa/backtest.rb#L12)
302
302
 
303
303
  ---
304
304
 
@@ -314,7 +314,7 @@ Sets the attribute profit_factor
314
314
 
315
315
 
316
316
  ??? info "Source Location"
317
- `lib/sqa/backtest.rb:12`
317
+ [`lib/sqa/backtest.rb:12`](https://github.com/madbomber/sqa/blob/main/lib/sqa/backtest.rb#L12)
318
318
 
319
319
  ---
320
320
 
@@ -326,7 +326,7 @@ Returns the value of attribute start_date.
326
326
 
327
327
 
328
328
  ??? info "Source Location"
329
- `lib/sqa/backtest.rb:12`
329
+ [`lib/sqa/backtest.rb:12`](https://github.com/madbomber/sqa/blob/main/lib/sqa/backtest.rb#L12)
330
330
 
331
331
  ---
332
332
 
@@ -342,7 +342,7 @@ Sets the attribute start_date
342
342
 
343
343
 
344
344
  ??? info "Source Location"
345
- `lib/sqa/backtest.rb:12`
345
+ [`lib/sqa/backtest.rb:12`](https://github.com/madbomber/sqa/blob/main/lib/sqa/backtest.rb#L12)
346
346
 
347
347
  ---
348
348
 
@@ -354,7 +354,7 @@ Returns the value of attribute end_date.
354
354
 
355
355
 
356
356
  ??? info "Source Location"
357
- `lib/sqa/backtest.rb:12`
357
+ [`lib/sqa/backtest.rb:12`](https://github.com/madbomber/sqa/blob/main/lib/sqa/backtest.rb#L12)
358
358
 
359
359
  ---
360
360
 
@@ -370,7 +370,7 @@ Sets the attribute end_date
370
370
 
371
371
 
372
372
  ??? info "Source Location"
373
- `lib/sqa/backtest.rb:12`
373
+ [`lib/sqa/backtest.rb:12`](https://github.com/madbomber/sqa/blob/main/lib/sqa/backtest.rb#L12)
374
374
 
375
375
  ---
376
376
 
@@ -382,7 +382,7 @@ Returns the value of attribute initial_capital.
382
382
 
383
383
 
384
384
  ??? info "Source Location"
385
- `lib/sqa/backtest.rb:12`
385
+ [`lib/sqa/backtest.rb:12`](https://github.com/madbomber/sqa/blob/main/lib/sqa/backtest.rb#L12)
386
386
 
387
387
  ---
388
388
 
@@ -398,7 +398,7 @@ Sets the attribute initial_capital
398
398
 
399
399
 
400
400
  ??? info "Source Location"
401
- `lib/sqa/backtest.rb:12`
401
+ [`lib/sqa/backtest.rb:12`](https://github.com/madbomber/sqa/blob/main/lib/sqa/backtest.rb#L12)
402
402
 
403
403
  ---
404
404
 
@@ -410,7 +410,7 @@ Returns the value of attribute final_value.
410
410
 
411
411
 
412
412
  ??? info "Source Location"
413
- `lib/sqa/backtest.rb:12`
413
+ [`lib/sqa/backtest.rb:12`](https://github.com/madbomber/sqa/blob/main/lib/sqa/backtest.rb#L12)
414
414
 
415
415
  ---
416
416
 
@@ -426,7 +426,7 @@ Sets the attribute final_value
426
426
 
427
427
 
428
428
  ??? info "Source Location"
429
- `lib/sqa/backtest.rb:12`
429
+ [`lib/sqa/backtest.rb:12`](https://github.com/madbomber/sqa/blob/main/lib/sqa/backtest.rb#L12)
430
430
 
431
431
  ---
432
432
 
@@ -442,7 +442,7 @@ Sets the attribute final_value
442
442
  a new instance of Results
443
443
 
444
444
  ??? info "Source Location"
445
- `lib/sqa/backtest.rb:17`
445
+ [`lib/sqa/backtest.rb:17`](https://github.com/madbomber/sqa/blob/main/lib/sqa/backtest.rb#L17)
446
446
 
447
447
  ---
448
448
 
@@ -452,7 +452,7 @@ Sets the attribute final_value
452
452
 
453
453
 
454
454
  ??? info "Source Location"
455
- `lib/sqa/backtest.rb:31`
455
+ [`lib/sqa/backtest.rb:31`](https://github.com/madbomber/sqa/blob/main/lib/sqa/backtest.rb#L31)
456
456
 
457
457
  ---
458
458
 
@@ -462,7 +462,7 @@ Sets the attribute final_value
462
462
 
463
463
 
464
464
  ??? info "Source Location"
465
- `lib/sqa/backtest.rb:51`
465
+ [`lib/sqa/backtest.rb:51`](https://github.com/madbomber/sqa/blob/main/lib/sqa/backtest.rb#L51)
466
466
 
467
467
  ---
468
468
 
@@ -5,7 +5,7 @@
5
5
  Inherits from ArgumentError for semantic clarity.
6
6
 
7
7
  !!! abstract "Source Information"
8
- **Defined in:** `lib/sqa/errors.rb:54`
8
+ **Defined in:** [`lib/sqa/errors.rb:54`](https://github.com/madbomber/sqa/blob/main/lib/sqa/errors.rb#L54)
9
9
 
10
10
  **Inherits from:** `ArgumentError`
11
11