@talocode/tradia 0.1.0 → 0.1.1
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.
- package/LICENSE +21 -0
- package/README.md +138 -46
- package/dist/auth.d.ts +8 -0
- package/dist/auth.d.ts.map +1 -0
- package/dist/auth.js +36 -0
- package/dist/auth.js.map +1 -0
- package/dist/billing.d.ts +14 -0
- package/dist/billing.d.ts.map +1 -0
- package/dist/billing.js +64 -0
- package/dist/billing.js.map +1 -0
- package/dist/cli.d.ts +3 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +269 -0
- package/dist/cli.js.map +1 -0
- package/dist/client.d.ts +77 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +187 -0
- package/dist/client.js.map +1 -0
- package/dist/engine.d.ts +124 -0
- package/dist/engine.d.ts.map +1 -0
- package/dist/engine.js +474 -0
- package/dist/engine.js.map +1 -0
- package/dist/index.d.ts +10 -2
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +9 -602
- package/dist/index.js.map +1 -0
- package/dist/journal.d.ts +7 -0
- package/dist/journal.d.ts.map +1 -0
- package/dist/journal.js +84 -0
- package/dist/journal.js.map +1 -0
- package/dist/reporting.d.ts +10 -0
- package/dist/reporting.d.ts.map +1 -0
- package/dist/reporting.js +97 -0
- package/dist/reporting.js.map +1 -0
- package/dist/risk.d.ts +24 -0
- package/dist/risk.d.ts.map +1 -0
- package/dist/risk.js +162 -0
- package/dist/risk.js.map +1 -0
- package/dist/server.d.ts +4 -0
- package/dist/server.d.ts.map +1 -0
- package/dist/server.js +194 -0
- package/dist/server.js.map +1 -0
- package/dist/types.d.ts +238 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +16 -0
- package/dist/types.js.map +1 -0
- package/package.json +41 -30
package/dist/engine.js
ADDED
|
@@ -0,0 +1,474 @@
|
|
|
1
|
+
import { createJournalEntryInternal, extractTradeLessonInternal } from './journal.js';
|
|
2
|
+
import { computePerformanceStats } from './reporting.js';
|
|
3
|
+
function generateId() {
|
|
4
|
+
const chars = 'abcdefghijklmnopqrstuvwxyz0123456789';
|
|
5
|
+
let result = '';
|
|
6
|
+
for (let i = 0; i < 24; i++) {
|
|
7
|
+
result += chars.charAt(Math.floor(Math.random() * chars.length));
|
|
8
|
+
}
|
|
9
|
+
return `tradia_req_${result}`;
|
|
10
|
+
}
|
|
11
|
+
function detectDirection(entry, takeProfit) {
|
|
12
|
+
if (takeProfit > entry)
|
|
13
|
+
return 'long';
|
|
14
|
+
if (takeProfit < entry)
|
|
15
|
+
return 'short';
|
|
16
|
+
return 'watch_only';
|
|
17
|
+
}
|
|
18
|
+
function calculateRR(entry, stopLoss, takeProfit) {
|
|
19
|
+
const risk = Math.abs(entry - stopLoss);
|
|
20
|
+
const reward = Math.abs(takeProfit - entry);
|
|
21
|
+
if (risk === 0)
|
|
22
|
+
return 0;
|
|
23
|
+
return Math.round((reward / risk) * 100) / 100;
|
|
24
|
+
}
|
|
25
|
+
function calculateConfidence(strategy, rr, rules = []) {
|
|
26
|
+
let base = 0.5;
|
|
27
|
+
if (rr >= 3)
|
|
28
|
+
base += 0.2;
|
|
29
|
+
else if (rr >= 2)
|
|
30
|
+
base += 0.1;
|
|
31
|
+
if (strategy !== 'custom')
|
|
32
|
+
base += 0.1;
|
|
33
|
+
if (rules.length > 0)
|
|
34
|
+
base += 0.05;
|
|
35
|
+
return Math.min(Math.round(base * 100) / 100, 0.95);
|
|
36
|
+
}
|
|
37
|
+
function buildRiskWarnings(riskPercent, rr) {
|
|
38
|
+
const warnings = [];
|
|
39
|
+
if (riskPercent > 2)
|
|
40
|
+
warnings.push('Risk exceeds 2% per trade. High risk of significant drawdown.');
|
|
41
|
+
if (riskPercent > 1)
|
|
42
|
+
warnings.push('Consider reducing position size for better risk management.');
|
|
43
|
+
if (rr < 1)
|
|
44
|
+
warnings.push('Risk-reward ratio is below 1. Trade may not be worth the risk.');
|
|
45
|
+
if (rr < 1.5)
|
|
46
|
+
warnings.push('Risk-reward ratio is below 1.5. Consider tighter stops or better targets.');
|
|
47
|
+
warnings.push('Past performance does not guarantee future results.');
|
|
48
|
+
warnings.push('Only risk capital you can afford to lose.');
|
|
49
|
+
return warnings;
|
|
50
|
+
}
|
|
51
|
+
function buildRuleChecklist(strategy, rules = []) {
|
|
52
|
+
const checklist = [];
|
|
53
|
+
if (rules.length > 0)
|
|
54
|
+
checklist.push(...rules);
|
|
55
|
+
checklist.push('Risk per trade within acceptable limits');
|
|
56
|
+
if (strategy === 'liquidity_sweep') {
|
|
57
|
+
checklist.push('Liquidity identified and swept');
|
|
58
|
+
checklist.push('Confirmation candle after sweep');
|
|
59
|
+
}
|
|
60
|
+
else if (strategy === 'breakout_retest') {
|
|
61
|
+
checklist.push('Key level identified');
|
|
62
|
+
checklist.push('Retest confirmed with volume');
|
|
63
|
+
}
|
|
64
|
+
else if (strategy === 'support_resistance') {
|
|
65
|
+
checklist.push('Support/resistance level identified');
|
|
66
|
+
checklist.push('Price reaction at level confirmed');
|
|
67
|
+
}
|
|
68
|
+
else if (strategy === 'trend_continuation') {
|
|
69
|
+
checklist.push('Trend direction confirmed on higher timeframe');
|
|
70
|
+
checklist.push('Pullback within trend boundaries');
|
|
71
|
+
}
|
|
72
|
+
checklist.push('No high-impact news during trade window');
|
|
73
|
+
checklist.push('Human review completed before execution');
|
|
74
|
+
return checklist;
|
|
75
|
+
}
|
|
76
|
+
const STRATEGY_THESIS = {
|
|
77
|
+
liquidity_sweep: 'Price swept liquidity above/below a key level, indicating stop hunts. Rejection confirms genuine direction. Counter-trend entry with tight invalidation.',
|
|
78
|
+
trend_continuation: 'Price is in a defined trend and pulling back to a key level or moving average. Entry aligned with larger trend direction.',
|
|
79
|
+
breakout_retest: 'Price broke a key structural level and is retesting it as support/resistance. Retest entry with invalidation inside the breakout range.',
|
|
80
|
+
support_resistance: 'Price is approaching a known support or resistance zone. Reversal or bounce expected at the level.',
|
|
81
|
+
mean_reversion: 'Price has deviated significantly from its mean or moving average. Expect reversion toward the mean.',
|
|
82
|
+
momentum: 'Price is moving with above-average momentum in a clear direction. Entry on continuation with momentum confirmation.',
|
|
83
|
+
news_avoidance: 'Avoiding trade due to upcoming high-impact news event. Market may be unpredictable during news.',
|
|
84
|
+
custom: 'User-defined strategy. Ensure all rules and conditions are clearly documented before entry.',
|
|
85
|
+
};
|
|
86
|
+
export function generateAgentPlan(input) {
|
|
87
|
+
const id = generateId();
|
|
88
|
+
const direction = input.entry && input.takeProfit ? detectDirection(input.entry, input.takeProfit) : 'watch_only';
|
|
89
|
+
const rr = input.entry && input.stopLoss && input.takeProfit ? calculateRR(input.entry, input.stopLoss, input.takeProfit) : 0;
|
|
90
|
+
const confidence = calculateConfidence(input.strategy || 'custom', rr, input.rules);
|
|
91
|
+
const warnings = buildRiskWarnings(input.riskPercent || 0.5, rr);
|
|
92
|
+
return {
|
|
93
|
+
id,
|
|
94
|
+
object: 'tradia.agent_plan',
|
|
95
|
+
result: {
|
|
96
|
+
mode: input.mode || 'proposal',
|
|
97
|
+
symbol: input.symbol || null,
|
|
98
|
+
direction,
|
|
99
|
+
thesis: input.strategy ? STRATEGY_THESIS[input.strategy] || 'Analyze market conditions before entry.' : 'Analyze market conditions before entry.',
|
|
100
|
+
marketContext: input.marketContext || null,
|
|
101
|
+
strategy: input.strategy || null,
|
|
102
|
+
timeframe: input.timeframe || null,
|
|
103
|
+
riskPercent: input.riskPercent || 0.5,
|
|
104
|
+
riskRewardRatio: rr,
|
|
105
|
+
confidence,
|
|
106
|
+
ruleChecklist: input.strategy ? buildRuleChecklist(input.strategy, input.rules) : [],
|
|
107
|
+
warnings,
|
|
108
|
+
nextSteps: [
|
|
109
|
+
'1. Review market context and higher timeframe',
|
|
110
|
+
'2. Check for upcoming news events',
|
|
111
|
+
'3. Validate all rules before entry',
|
|
112
|
+
'4. Calculate precise position size',
|
|
113
|
+
'5. Set alerts at invalidation levels',
|
|
114
|
+
],
|
|
115
|
+
},
|
|
116
|
+
usage: { credits: 40, action: 'tradia.agent.plan' },
|
|
117
|
+
humanReviewRequired: true,
|
|
118
|
+
notFinancialAdvice: true,
|
|
119
|
+
};
|
|
120
|
+
}
|
|
121
|
+
export function analyzeMarketContext(input) {
|
|
122
|
+
const direction = input.context.toLowerCase().includes('bull') || input.context.toLowerCase().includes('buy') ? 'bullish' :
|
|
123
|
+
input.context.toLowerCase().includes('bear') || input.context.toLowerCase().includes('sell') ? 'bearish' : 'neutral';
|
|
124
|
+
return {
|
|
125
|
+
id: generateId(),
|
|
126
|
+
object: 'tradia.market_analysis',
|
|
127
|
+
result: {
|
|
128
|
+
symbol: input.symbol,
|
|
129
|
+
timeframe: input.timeframe,
|
|
130
|
+
bias: direction,
|
|
131
|
+
keyLevels: {
|
|
132
|
+
support: [],
|
|
133
|
+
resistance: [],
|
|
134
|
+
},
|
|
135
|
+
marketContext: input.context,
|
|
136
|
+
considerations: [
|
|
137
|
+
'Review higher timeframe for alignment',
|
|
138
|
+
'Check for upcoming economic data',
|
|
139
|
+
'Monitor volume and momentum',
|
|
140
|
+
],
|
|
141
|
+
riskWarnings: [
|
|
142
|
+
'Market context is user-provided and may not reflect real-time conditions.',
|
|
143
|
+
'Always verify with live price data before trading.',
|
|
144
|
+
],
|
|
145
|
+
},
|
|
146
|
+
usage: { credits: 30, action: 'tradia.market.analyze' },
|
|
147
|
+
humanReviewRequired: true,
|
|
148
|
+
notFinancialAdvice: true,
|
|
149
|
+
};
|
|
150
|
+
}
|
|
151
|
+
export function evaluateSignal(input) {
|
|
152
|
+
const signalStrength = input.context.length > 100 ? 'moderate' : 'weak';
|
|
153
|
+
const timeframe = input.timeframe || '1h';
|
|
154
|
+
return {
|
|
155
|
+
id: generateId(),
|
|
156
|
+
object: 'tradia.signal_evaluation',
|
|
157
|
+
result: {
|
|
158
|
+
symbol: input.symbol,
|
|
159
|
+
strategy: input.strategy,
|
|
160
|
+
timeframe,
|
|
161
|
+
signalStrength,
|
|
162
|
+
evaluation: [
|
|
163
|
+
`Signal based on ${input.strategy} strategy on ${input.symbol}.`,
|
|
164
|
+
`Context: ${input.context}`,
|
|
165
|
+
`Timeframe: ${timeframe}`,
|
|
166
|
+
],
|
|
167
|
+
recommendations: [
|
|
168
|
+
'Wait for confirmation before entry',
|
|
169
|
+
'Set clear invalidation levels',
|
|
170
|
+
'Calculate risk before committing',
|
|
171
|
+
],
|
|
172
|
+
riskWarnings: [
|
|
173
|
+
'Signal evaluation is deterministic and based on user-provided context.',
|
|
174
|
+
'Do not trade based on signal alone. Always do your own analysis.',
|
|
175
|
+
],
|
|
176
|
+
},
|
|
177
|
+
usage: { credits: 30, action: 'tradia.signal.evaluate' },
|
|
178
|
+
humanReviewRequired: true,
|
|
179
|
+
notFinancialAdvice: true,
|
|
180
|
+
};
|
|
181
|
+
}
|
|
182
|
+
export function proposeTrade(input) {
|
|
183
|
+
const id = generateId();
|
|
184
|
+
const direction = detectDirection(input.entry, input.takeProfit);
|
|
185
|
+
const rr = calculateRR(input.entry, input.stopLoss, input.takeProfit);
|
|
186
|
+
const confidence = calculateConfidence(input.strategy || 'custom', rr, input.rules);
|
|
187
|
+
const warnings = buildRiskWarnings(input.riskPercent, rr);
|
|
188
|
+
const thesis = input.strategy ? STRATEGY_THESIS[input.strategy] || 'User-defined strategy trade.' : 'Analyze market conditions before entry.';
|
|
189
|
+
const riskAmount = input.accountBalance * (input.riskPercent / 100);
|
|
190
|
+
const positionSize = riskAmount > 0 ? Math.round(riskAmount / Math.abs(input.entry - input.stopLoss) * 100) / 100 : 0;
|
|
191
|
+
const reasonsFor = [];
|
|
192
|
+
const reasonsAgainst = [];
|
|
193
|
+
if (rr >= 2)
|
|
194
|
+
reasonsFor.push(`Risk-reward ratio of ${rr} is favorable`);
|
|
195
|
+
if (rr >= 3)
|
|
196
|
+
reasonsFor.push('Exceptional risk-reward opportunity');
|
|
197
|
+
if (input.strategy && input.strategy !== 'custom')
|
|
198
|
+
reasonsFor.push(`${input.strategy} strategy has defined entry and invalidation rules`);
|
|
199
|
+
if (input.marketContext)
|
|
200
|
+
reasonsFor.push('Market context provided supports this setup');
|
|
201
|
+
if (input.riskPercent > 2)
|
|
202
|
+
reasonsAgainst.push('Risk per trade exceeds 2%');
|
|
203
|
+
if (rr < 1.5)
|
|
204
|
+
reasonsAgainst.push('Risk-reward ratio could be improved');
|
|
205
|
+
if (input.strategy === 'news_avoidance')
|
|
206
|
+
reasonsAgainst.push('News event pending - market may be unpredictable');
|
|
207
|
+
return {
|
|
208
|
+
id,
|
|
209
|
+
object: 'tradia.trade_proposal',
|
|
210
|
+
result: {
|
|
211
|
+
symbol: input.symbol,
|
|
212
|
+
direction,
|
|
213
|
+
thesis,
|
|
214
|
+
setup: `${input.strategy || 'custom'} setup on ${input.symbol} (${input.timeframe || 'N/A'})`,
|
|
215
|
+
entryPlan: input.setupNotes || `Enter at ${input.entry}. Confirmation required before entry.`,
|
|
216
|
+
stopLoss: input.stopLoss,
|
|
217
|
+
takeProfit: input.takeProfit,
|
|
218
|
+
invalidation: `Invalidate if price reaches ${input.stopLoss}. `
|
|
219
|
+
+ (direction === 'long' ? 'If price closes below invalidation level, exit immediately.' : 'If price closes above invalidation level, exit immediately.'),
|
|
220
|
+
riskPercent: input.riskPercent,
|
|
221
|
+
positionSizeEstimate: { units: positionSize, riskAmount, riskPercent: input.riskPercent },
|
|
222
|
+
riskRewardRatio: rr,
|
|
223
|
+
confidence,
|
|
224
|
+
ruleChecklist: buildRuleChecklist(input.strategy || 'custom', input.rules),
|
|
225
|
+
reasonsFor,
|
|
226
|
+
reasonsAgainst,
|
|
227
|
+
riskWarnings: warnings,
|
|
228
|
+
humanReviewRequired: true,
|
|
229
|
+
notFinancialAdvice: true,
|
|
230
|
+
},
|
|
231
|
+
usage: { credits: 40, action: 'tradia.trade.propose' },
|
|
232
|
+
};
|
|
233
|
+
}
|
|
234
|
+
export function journalTrade(input) {
|
|
235
|
+
const entry = createJournalEntryInternal(input);
|
|
236
|
+
const lesson = extractTradeLessonInternal(input);
|
|
237
|
+
const whatWorked = [];
|
|
238
|
+
if (input.rulesFollowed)
|
|
239
|
+
whatWorked.push('Trading rules were followed');
|
|
240
|
+
if (input.rMultiple >= 2)
|
|
241
|
+
whatWorked.push('Achieved excellent risk-reward multiple');
|
|
242
|
+
if (input.rMultiple > 0)
|
|
243
|
+
whatWorked.push('Trade was profitable');
|
|
244
|
+
if (input.reason)
|
|
245
|
+
whatWorked.push('Trade had a clear rationale');
|
|
246
|
+
const whatToImprove = [];
|
|
247
|
+
if (!input.rulesFollowed)
|
|
248
|
+
whatToImprove.push('Follow trading rules consistently');
|
|
249
|
+
if (input.mistakes && input.mistakes.length > 0)
|
|
250
|
+
whatToImprove.push(...input.mistakes.map(m => `Address mistake: ${m}`));
|
|
251
|
+
whatToImprove.push('Review trade for process improvements');
|
|
252
|
+
return {
|
|
253
|
+
id: generateId(),
|
|
254
|
+
object: 'tradia.trade_journal',
|
|
255
|
+
result: {
|
|
256
|
+
journalEntry: entry,
|
|
257
|
+
lesson,
|
|
258
|
+
disciplineScore: input.rulesFollowed ? 85 + Math.floor(Math.random() * 16) : 50 + Math.floor(Math.random() * 30),
|
|
259
|
+
mistakeTags: input.mistakes || [],
|
|
260
|
+
whatWorked,
|
|
261
|
+
whatToImprove,
|
|
262
|
+
humanReviewRequired: true,
|
|
263
|
+
notFinancialAdvice: true,
|
|
264
|
+
},
|
|
265
|
+
usage: { credits: 25, action: 'tradia.trade.journal' },
|
|
266
|
+
};
|
|
267
|
+
}
|
|
268
|
+
export function analyzePerformance(input) {
|
|
269
|
+
const stats = computePerformanceStats(input.trades, input.startingBalance);
|
|
270
|
+
return {
|
|
271
|
+
id: generateId(),
|
|
272
|
+
object: 'tradia.performance_analysis',
|
|
273
|
+
result: stats,
|
|
274
|
+
usage: { credits: 35, action: 'tradia.performance.analyze' },
|
|
275
|
+
};
|
|
276
|
+
}
|
|
277
|
+
export function generatePortfolioReport(input) {
|
|
278
|
+
const stats = computePerformanceStats(input.trades, input.accountBalance);
|
|
279
|
+
return {
|
|
280
|
+
id: generateId(),
|
|
281
|
+
object: 'tradia.portfolio_report',
|
|
282
|
+
result: {
|
|
283
|
+
accountBalance: input.accountBalance,
|
|
284
|
+
totalTrades: stats.totalTrades,
|
|
285
|
+
wins: stats.wins,
|
|
286
|
+
losses: stats.losses,
|
|
287
|
+
winRate: stats.winRate,
|
|
288
|
+
profitFactor: stats.profitFactor,
|
|
289
|
+
expectancy: stats.expectancy,
|
|
290
|
+
averageR: stats.averageR,
|
|
291
|
+
maxDrawdown: stats.maxDrawdown,
|
|
292
|
+
sinceInception: stats.sinceInception,
|
|
293
|
+
recommendations: [
|
|
294
|
+
stats.winRate < 40 ? 'Consider reviewing your trade selection process.' : 'Win rate is acceptable.',
|
|
295
|
+
stats.profitFactor < 1 ? 'Your strategy is not profitable. Review and adjust.' : 'Strategy is showing profitability.',
|
|
296
|
+
stats.expectancy < 0 ? 'Expected value per trade is negative. Review risk management.' : 'Positive expectancy per trade.',
|
|
297
|
+
],
|
|
298
|
+
},
|
|
299
|
+
usage: { credits: 50, action: 'tradia.portfolio.report' },
|
|
300
|
+
humanReviewRequired: true,
|
|
301
|
+
notFinancialAdvice: true,
|
|
302
|
+
};
|
|
303
|
+
}
|
|
304
|
+
export function generatePublicUpdate(input) {
|
|
305
|
+
const trade = input.trade;
|
|
306
|
+
const symbol = trade.symbol || 'Unknown';
|
|
307
|
+
const direction = trade.direction || 'N/A';
|
|
308
|
+
const rr = trade.riskRewardRatio || 'N/A';
|
|
309
|
+
const perf = (input.performance || {});
|
|
310
|
+
const lines = [];
|
|
311
|
+
lines.push(`🚨 ${input.label}`);
|
|
312
|
+
lines.push('');
|
|
313
|
+
lines.push(`📊 Symbol: ${symbol}`);
|
|
314
|
+
lines.push(`Direction: ${direction}`);
|
|
315
|
+
if (rr !== 'N/A')
|
|
316
|
+
lines.push(`R:R: ${rr}`);
|
|
317
|
+
lines.push('');
|
|
318
|
+
if (trade.thesis)
|
|
319
|
+
lines.push(`Thesis: ${trade.thesis}`);
|
|
320
|
+
lines.push('');
|
|
321
|
+
const sd = perf.sevenDay;
|
|
322
|
+
const td = perf.twentyEightDay;
|
|
323
|
+
const hd = perf.threeSixtyFiveDay;
|
|
324
|
+
const si = perf.sinceInception;
|
|
325
|
+
if (sd !== null && sd !== undefined) {
|
|
326
|
+
lines.push(`📈 7D Performance: ${sd > 0 ? '+' : ''}${sd}%`);
|
|
327
|
+
}
|
|
328
|
+
if (td !== null && td !== undefined) {
|
|
329
|
+
lines.push(`📈 28D Performance: ${td > 0 ? '+' : ''}${td}%`);
|
|
330
|
+
}
|
|
331
|
+
if (hd !== null && hd !== undefined) {
|
|
332
|
+
lines.push(`📈 365D Performance: ${hd > 0 ? '+' : ''}${hd}%`);
|
|
333
|
+
}
|
|
334
|
+
if (si !== null && si !== undefined) {
|
|
335
|
+
lines.push(`📈 Since Inception: ${si > 0 ? '+' : ''}${si}%`);
|
|
336
|
+
}
|
|
337
|
+
lines.push('');
|
|
338
|
+
lines.push('⚠️ Educational update only. Not financial advice.');
|
|
339
|
+
lines.push('Human review required before acting on any trade.');
|
|
340
|
+
return {
|
|
341
|
+
id: generateId(),
|
|
342
|
+
object: 'tradia.public_update',
|
|
343
|
+
result: {
|
|
344
|
+
post: lines.join('\n'),
|
|
345
|
+
summary: { symbol, direction, rr, performance: perf },
|
|
346
|
+
disclaimer: 'Educational update only. Not financial advice.',
|
|
347
|
+
humanReviewRequired: true,
|
|
348
|
+
notFinancialAdvice: true,
|
|
349
|
+
},
|
|
350
|
+
usage: { credits: 30, action: 'tradia.public_update.generate' },
|
|
351
|
+
};
|
|
352
|
+
}
|
|
353
|
+
export function simulateBacktest(input) {
|
|
354
|
+
const closedTrades = input.trades.filter(t => t.status === 'closed' || t.rMultiple !== undefined);
|
|
355
|
+
let balance = input.startingBalance;
|
|
356
|
+
const equityCurve = [balance];
|
|
357
|
+
let peak = balance;
|
|
358
|
+
let maxDrawdown = 0;
|
|
359
|
+
let wins = 0;
|
|
360
|
+
let losses = 0;
|
|
361
|
+
let totalR = 0;
|
|
362
|
+
for (const trade of closedTrades) {
|
|
363
|
+
const rr = trade.rMultiple || (trade.profitLoss && trade.riskAmount ? trade.profitLoss / trade.riskAmount : 0);
|
|
364
|
+
totalR += rr;
|
|
365
|
+
if (rr > 0)
|
|
366
|
+
wins++;
|
|
367
|
+
else
|
|
368
|
+
losses++;
|
|
369
|
+
const riskAmt = balance * (input.riskPercent / 100);
|
|
370
|
+
const pnl = riskAmt * rr;
|
|
371
|
+
balance += pnl;
|
|
372
|
+
equityCurve.push(Math.round(balance * 100) / 100);
|
|
373
|
+
if (balance > peak)
|
|
374
|
+
peak = balance;
|
|
375
|
+
const dd = peak > 0 ? ((peak - balance) / peak) * 100 : 0;
|
|
376
|
+
if (dd > maxDrawdown)
|
|
377
|
+
maxDrawdown = dd;
|
|
378
|
+
}
|
|
379
|
+
const totalTrades = closedTrades.length;
|
|
380
|
+
const winRate = totalTrades > 0 ? Math.round((wins / totalTrades) * 10000) / 100 : 0;
|
|
381
|
+
const totalReturn = input.startingBalance > 0 ? Math.round(((balance - input.startingBalance) / input.startingBalance) * 10000) / 100 : 0;
|
|
382
|
+
const averageR = totalTrades > 0 ? Math.round((totalR / totalTrades) * 100) / 100 : 0;
|
|
383
|
+
const warnings = [];
|
|
384
|
+
if (totalTrades < 30)
|
|
385
|
+
warnings.push('Sample size is small. Results may not be statistically significant.');
|
|
386
|
+
if (winRate < 40)
|
|
387
|
+
warnings.push('Win rate is below 40%. Consider reviewing strategy rules.');
|
|
388
|
+
if (maxDrawdown > 20)
|
|
389
|
+
warnings.push('Max drawdown exceeds 20%. Consider reducing risk per trade.');
|
|
390
|
+
if (balance <= 0)
|
|
391
|
+
warnings.push('Account balance reached zero. Risk per trade may be too high.');
|
|
392
|
+
return {
|
|
393
|
+
id: generateId(),
|
|
394
|
+
object: 'tradia.backtest_result',
|
|
395
|
+
result: {
|
|
396
|
+
endingBalance: Math.round(balance * 100) / 100,
|
|
397
|
+
totalReturnPercent: totalReturn,
|
|
398
|
+
winRate,
|
|
399
|
+
averageR,
|
|
400
|
+
maxDrawdown: Math.round(maxDrawdown * 100) / 100,
|
|
401
|
+
equityCurve,
|
|
402
|
+
warnings,
|
|
403
|
+
humanReviewRequired: true,
|
|
404
|
+
notFinancialAdvice: true,
|
|
405
|
+
},
|
|
406
|
+
usage: { credits: 60, action: 'tradia.backtest.simulate' },
|
|
407
|
+
};
|
|
408
|
+
}
|
|
409
|
+
export function generateAccountabilityCard(input) {
|
|
410
|
+
const tp = input.tradeProposal || {};
|
|
411
|
+
const je = input.journalEntry || {};
|
|
412
|
+
const perf = (input.performance || {});
|
|
413
|
+
return {
|
|
414
|
+
id: generateId(),
|
|
415
|
+
object: 'tradia.accountability_card',
|
|
416
|
+
result: {
|
|
417
|
+
card: {
|
|
418
|
+
trade: { symbol: tp.symbol, direction: tp.direction, thesis: tp.thesis },
|
|
419
|
+
journal: { lesson: je.lesson, disciplineScore: je.disciplineScore },
|
|
420
|
+
performance: { winRate: perf.winRate, averageR: perf.averageR, profitFactor: perf.profitFactor },
|
|
421
|
+
},
|
|
422
|
+
markdown: [
|
|
423
|
+
`## Accountability Card`,
|
|
424
|
+
``,
|
|
425
|
+
`### Trade`,
|
|
426
|
+
`- Symbol: ${tp.symbol || 'N/A'}`,
|
|
427
|
+
`- Direction: ${tp.direction || 'N/A'}`,
|
|
428
|
+
`- Thesis: ${tp.thesis || 'N/A'}`,
|
|
429
|
+
``,
|
|
430
|
+
`### Journal`,
|
|
431
|
+
`- Lesson: ${je.lesson || 'N/A'}`,
|
|
432
|
+
`- Discipline: ${je.disciplineScore || 'N/A'}/100`,
|
|
433
|
+
``,
|
|
434
|
+
`### Performance`,
|
|
435
|
+
`- Win Rate: ${perf.winRate !== undefined ? perf.winRate + '%' : 'N/A'}`,
|
|
436
|
+
`- Average R: ${perf.averageR || 'N/A'}`,
|
|
437
|
+
``,
|
|
438
|
+
`⚠️ Not financial advice. Educational tracking only.`,
|
|
439
|
+
].join('\n'),
|
|
440
|
+
publicSummary: [
|
|
441
|
+
`Trade: ${tp.symbol || 'N/A'} ${tp.direction || ''}`,
|
|
442
|
+
`Lesson: ${je.lesson || 'N/A'}`,
|
|
443
|
+
`Discipline: ${je.disciplineScore || 'N/A'}/100`,
|
|
444
|
+
].join(' | '),
|
|
445
|
+
humanReviewRequired: true,
|
|
446
|
+
notFinancialAdvice: true,
|
|
447
|
+
},
|
|
448
|
+
usage: { credits: 25, action: 'tradia.accountability.card' },
|
|
449
|
+
};
|
|
450
|
+
}
|
|
451
|
+
export function exportMarkdown(input) {
|
|
452
|
+
const lines = ['# Tradia Export', '', '```json', JSON.stringify(input, null, 2), '```', '', '⚠️ Not financial advice. Human review required.'];
|
|
453
|
+
return {
|
|
454
|
+
id: generateId(),
|
|
455
|
+
object: 'tradia.export_markdown',
|
|
456
|
+
result: {
|
|
457
|
+
markdown: lines.join('\n'),
|
|
458
|
+
filename: 'tradia-export.md',
|
|
459
|
+
},
|
|
460
|
+
usage: { credits: 5, action: 'tradia.export.markdown' },
|
|
461
|
+
};
|
|
462
|
+
}
|
|
463
|
+
export function exportJson(input) {
|
|
464
|
+
return {
|
|
465
|
+
id: generateId(),
|
|
466
|
+
object: 'tradia.export_json',
|
|
467
|
+
result: {
|
|
468
|
+
json: JSON.stringify(input, null, 2),
|
|
469
|
+
filename: 'tradia-export.json',
|
|
470
|
+
},
|
|
471
|
+
usage: { credits: 5, action: 'tradia.export.json' },
|
|
472
|
+
};
|
|
473
|
+
}
|
|
474
|
+
//# sourceMappingURL=engine.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"engine.js","sourceRoot":"","sources":["../src/tradia/engine.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,2 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
export {
|
|
1
|
+
export { TradiaClient, createTradiaClient } from './client.js';
|
|
2
|
+
export type { TradiaClientOptions } from './client.js';
|
|
3
|
+
export { TradiaError, TradiaAuthError, TradiaInsufficientCreditsError, TradiaValidationError, TradiaRateLimitError, TradiaRiskError, TradiaSafetyError, TradiaUnsupportedError, } from './client.js';
|
|
4
|
+
export { generateAgentPlan, analyzeMarketContext, evaluateSignal, proposeTrade, journalTrade, analyzePerformance, generatePortfolioReport, generatePublicUpdate, simulateBacktest, generateAccountabilityCard, exportMarkdown, exportJson, } from './engine.js';
|
|
5
|
+
export { checkRiskInternal as checkRisk } from './risk.js';
|
|
6
|
+
export { calculatePositionSize, calculateRiskReward, calculateDrawdown, calculateExposure, validateRiskRules, detectRevengeTrading, detectOverleveraging, detectRuleViolation, } from './risk.js';
|
|
7
|
+
export { createJournalEntryInternal as createJournalEntry, extractTradeLessonInternal as extractTradeLesson, classifyTradeMistake, scoreDiscipline, summarizeTradeOutcome, } from './journal.js';
|
|
8
|
+
export { computeWinRate, computeAverageR, computeProfitFactor, computeExpectancy, computeMaxDrawdown, compute7d28d365dPerformance, computeSinceInception, computePerformanceStats, } from './reporting.js';
|
|
9
|
+
export * from './types.js';
|
|
10
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/tradia/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAC9D,YAAY,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AACtD,OAAO,EACL,WAAW,EACX,eAAe,EACf,8BAA8B,EAC9B,qBAAqB,EACrB,oBAAoB,EACpB,eAAe,EACf,iBAAiB,EACjB,sBAAsB,GACvB,MAAM,aAAa,CAAA;AAEpB,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACpB,cAAc,EACd,YAAY,EACZ,YAAY,EACZ,kBAAkB,EAClB,uBAAuB,EACvB,oBAAoB,EACpB,gBAAgB,EAChB,0BAA0B,EAC1B,cAAc,EACd,UAAU,GACX,MAAM,aAAa,CAAA;AAEpB,OAAO,EAAE,iBAAiB,IAAI,SAAS,EAAE,MAAM,WAAW,CAAA;AAE1D,OAAO,EACL,qBAAqB,EACrB,mBAAmB,EACnB,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,oBAAoB,EACpB,oBAAoB,EACpB,mBAAmB,GACpB,MAAM,WAAW,CAAA;AAElB,OAAO,EACL,0BAA0B,IAAI,kBAAkB,EAChD,0BAA0B,IAAI,kBAAkB,EAChD,oBAAoB,EACpB,eAAe,EACf,qBAAqB,GACtB,MAAM,cAAc,CAAA;AAErB,OAAO,EACL,cAAc,EACd,eAAe,EACf,mBAAmB,EACnB,iBAAiB,EACjB,kBAAkB,EAClB,2BAA2B,EAC3B,qBAAqB,EACrB,uBAAuB,GACxB,MAAM,gBAAgB,CAAA;AAEvB,cAAc,YAAY,CAAA"}
|