{{ result.symbol }} 📊 {{ result.name }} {{ result.exchange }}
{{ $t('simulator.no_results') }}
{{ automatModeStats.tradesExecuted }} {{ $t('simulator.trades_count') || 'trades' }}
{{ companyInfoText }} {{ companyInfoText }}
Ticker: {{ $t('simulator.synthetic_data') || 'Synthetic data' }} Model: {{ currentModelName }} {{ $t('simulator.generated') || 'Generated' }}: {{ sessionTimeYears }}{{ $t('common.year_short') || 'y' }}

{{ $t('simulator.title') }}

{{ $t('simulator.idle_description') }}

1 {{ $t('simulator.step_enter_ticker') }}
2 {{ $t('simulator.model_settings') }}
3 {{ $t('simulator.step_click_generate') }}
{{ $t('simulator.data_preparing') }}
{{ $t('simulator.controls') || 'CONTROLS' }}
{{ $t('simulator.press_to_start') }}
{{ currentCandleIndex + 1 }} / {{ totalCandles || 0 }}
{{ $t('trading.buy_sell') || 'Buy/Sell' }}
{{ currentCandleDate }}
${{ currentPrice }}
{{ currentCandleIndex + 1 }} / {{ totalCandles || 0 }}
{{ currentCandleDate }}
{{ currentPrice }}
{{ $t('nav.simulator') || 'SIMULATOR' }}
Budget
${{ formatMoney(portfolio.initial_budget || defaultBudget) }}
Total Value i ${{ formatMoney(portfolio.total_value) }}
{{ infoTooltipTexts.total_value.title }}
{{ infoTooltipTexts.total_value.desc }}
{{ $t('portfolio.calculation') }}: {{ infoTooltipTexts.total_value.calc }}
{{ $t('portfolio.cash') || 'Cash' }} i ${{ formatMoney(portfolio.cash) }}
{{ infoTooltipTexts.hotovost.title }}
{{ infoTooltipTexts.hotovost.desc }}
{{ $t('portfolio.calculation') }}: {{ infoTooltipTexts.hotovost.calc }}
{{ $t('portfolio.total_pl') || 'Total P/L' }} i {{ portfolio.total_pnl >= 0 ? '+' : '-' }}${{ formatMoney(portfolio.total_pnl) }} ({{ portfolio.total_pnl >= 0 ? '+' : '-' }}{{ formatMoney(portfolio.total_pnl_percent) }}%)
{{ infoTooltipTexts.celkovy_pl.title }}
{{ infoTooltipTexts.celkovy_pl.desc }}
{{ $t('portfolio.calculation') }}: {{ infoTooltipTexts.celkovy_pl.calc }}
{{ $t('portfolio.reserved') || 'Reserved' }} i {{ portfolio.cash !== undefined ? '$' + formatMoney(portfolio.reserved_cash || 0) : '---.--' }}
{{ infoTooltipTexts.viazana.title }}
{{ infoTooltipTexts.viazana.desc }}
{{ $t('portfolio.calculation') }}: {{ infoTooltipTexts.viazana.calc }}
{{ $t('portfolio.realized') || 'Realized' }} i
{{ infoTooltipTexts.realizovany.title }}
{{ infoTooltipTexts.realizovany.desc }}
{{ $t('portfolio.calculation') }}: {{ infoTooltipTexts.realizovany.calc }}
{{ $t('portfolio.available') || 'Available' }} i {{ portfolio.cash !== undefined ? '$' + formatMoney(portfolio.available_cash != null ? portfolio.available_cash : portfolio.cash) : '---.--' }}
{{ infoTooltipTexts.dostupna.title }}
{{ infoTooltipTexts.dostupna.desc }}
{{ $t('portfolio.calculation') }}: {{ infoTooltipTexts.dostupna.calc }}
{{ $t('portfolio.unrealized') || 'Unrealized' }} i
{{ infoTooltipTexts.nerealizovany.title }}
{{ infoTooltipTexts.nerealizovany.desc }}
{{ $t('portfolio.calculation') }}: {{ infoTooltipTexts.nerealizovany.calc }}
Portfolio
STOCK {{ portfolio.stocks.is_short ? 'SHORT' : 'LONG' }} {{ Math.abs(portfolio.stocks.quantity) }} shares
{{ portfolio.stocks.is_short ? 'Sold @' : 'Avg:' }} ${{ safeFixed(portfolio.stocks.avg_price) }} Current: ${{ safeFixed(portfolio.stocks.current_price) }} {{ portfolio.stocks.pnl >= 0 ? '+' : '-' }}${{ formatMoney(portfolio.stocks.pnl) }} ({{ portfolio.stocks.pnl >= 0 ? '+' : '-' }}{{ formatMoney(portfolio.stocks.pnl_percent) }}%)
{{ opt.option_type.toUpperCase() }} Strike: ${{ opt.strike }} {{ opt.quantity > 0 ? 'LONG' : 'SHORT' }} {{ Math.abs(opt.quantity) }}x
Exp: {{ opt.expiration_date }} @ ${{ safeFixed(opt.avg_price) }} Now: ${{ safeFixed(opt.current_price) }} {{ opt.pnl >= 0 ? '+' : '-' }}${{ formatMoney(opt.pnl) }} ({{ opt.pnl >= 0 ? '+' : '-' }}{{ formatMoney(opt.pnl_percent) }}%)
{{ $t('portfolio.no_positions_yet') }}
Portfolio Greeks {{ portfolioGreeksExpanded ? '▼' : '▶' }}
Δ {{ portfolioGreeksData.summary?.total_delta ?? 'N/A' }}
Γ {{ portfolioGreeksData.summary?.total_gamma ?? 'N/A' }}
Θ {{ portfolioGreeksData.summary?.total_theta ?? 'N/A' }} ${{ $t('portfolio.greeks_per_day') }}
V {{ portfolioGreeksData.summary?.total_vega ?? 'N/A' }} $/1%IV
ρ {{ portfolioGreeksData.summary?.total_rho ?? 'N/A' }}
{{ $t('portfolio.direction') }} {{ portfolioGreeksData.beta_weighted?.direction_sk || 'N/A' }}
{{ $t('portfolio.greeks_theta_daily') }}: ${{ portfolioGreeksData.risk_metrics?.daily_theta_decay || 0 }} {{ $t('portfolio.greeks_theta_weekly') }}: ${{ portfolioGreeksData.risk_metrics?.weekly_theta_decay || 0 }} {{ $t('portfolio.risk_label') }}: {{ portfolioGreeksData.risk_metrics?.risk_interpretation?.level_sk || 'N/A' }}
{{ $t('common.date') }} {{ $t('common.type') }} {{ $t('trading.instrument') }} {{ $t('trading.amount_qty') }} {{ $t('common.price') }} {{ $t('common.total') }} P/L
{{ formatTradeDate(trade.timestamp) }} {{ formatTradeType(trade.type) }} {{ trade.symbol }} {{ trade.quantity }} ${{ safeFixed(trade.price) }} ${{ formatMoney(trade.total) }} {{ trade.pnl !== 0 ? (trade.pnl >= 0 ? '+' : '-') + '$' + formatMoney(trade.pnl) : '-' }}
{{ $t('trading.no_trades_yet') }}
{{ $t('common.date') }} {{ $t('trading.operation') }} {{ $t('common.description') }} P/L {{ $t('common.total') }}
{{ formatTradeDate(tx.timestamp) }} {{ formatCashFlowType(tx.type) }} {{ tx.notes || '-' }} {{ tx.pnl !== 0 ? (tx.pnl >= 0 ? '+' : '-') + '$' + formatMoney(tx.pnl) : '-' }} {{ getCashFlowSign(tx.type) }}${{ formatMoney(tx.total) }}
{{ $t('trading.no_transactions_yet') }}
{{ expandedLevels.includes(1) ? '▼' : '▶' }} {{ $t('strategy.conservative') }} {{ getStrategiesByLevel(1).length }}
{{ strategy.name_sk }}
{{ expandedLevels.includes(2) ? '▼' : '▶' }} {{ $t('strategy.moderate') }} {{ getStrategiesByLevel(2).length }}
{{ strategy.name_sk }}
{{ expandedLevels.includes(3) ? '▼' : '▶' }} {{ $t('strategy.aggressive') }} {{ getStrategiesByLevel(3).length }}
{{ strategy.name_sk }}
{{ expandedLevels.includes(4) ? '▼' : '▶' }} {{ $t('strategy.speculative') }} {{ getStrategiesByLevel(4).length }}
{{ strategy.name_sk }}
{{ $t('strategy.generate_for_strategies') }}
{{ $t('common.loading') || 'Loading...' }}
{{ $t('strategy.select_from_list') }}
{{ selectedStrategy.name_sk }}
{{ getRiskLabel(selectedStrategy.risk_level) }}
{{ selectedStrategy.short_desc }}
Max Profit {{ selectedStrategy.analysis.max_profit !== null ? '$' + formatMoney(selectedStrategy.analysis.max_profit) : 'Unlimited' }}
Max Loss {{ selectedStrategy.analysis.max_loss !== null ? '$' + formatMoney(Math.abs(selectedStrategy.analysis.max_loss)) : 'Unlimited' }}
Break-even ${{ formatMoney(selectedStrategy.analysis.break_even) }}
Status Viable Not Viable
{{ $t('analytics.report_title') || 'Analysis & Report' }} {{ analyticsExpanded ? '▼' : '▶' }}
Dashboard
🔒
{{ $t('options.chain_higher_plan') }}
{{ $t('options.upgrade_plan') }}
{{ $t('options.recalculating_chain') }}
{{ $t('options.option_chain') || 'OPTION CHAIN' }}
{{ $t('options.generate_for_chain') }}
CALL STRIKE PUT
K P +
ρ V Θ Γ Δ Price
Price
Price Δ Γ Θ V ρ
+ K P
{{ formatGreek(row.call.rho) }} {{ formatGreek(row.call.vega) }} {{ formatGreek(row.call.theta) }} {{ formatGreek(row.call.gamma) }} {{ formatGreek(row.call.delta) }} {{ formatPrice(row.call.price) }}
{{ row.strike }}
{{ formatPrice(row.put.price) }} {{ formatGreek(row.put.delta) }} {{ formatGreek(row.put.gamma) }} {{ formatGreek(row.put.theta) }} {{ formatGreek(row.put.vega) }} {{ formatGreek(row.put.rho) }}
{{ $t('options.loading_chain') || 'Loading option chain...' }}
{{ $t('strategy.custom_strategy_legs', { count: customStrategyLegs.length }) }}
{{ $t('strategy.strategy_cleared_msg') }}
{{ $t('strategy.custom_strategy_title') }}
# {{ $t('common.type') }} Strike Exp Qty {{ $t('common.price') }} {{ $t('common.total') }}
{{ index + 1 }} {{ leg.action === 'buy' ? 'BUY' : 'SELL' }} {{ leg.optionType.toUpperCase() }} ${{ leg.strike }} {{ formatExpirationShort(leg.expiration) }}
{{ leg.quantity }}
${{ safeFixed(leg.price) }} {{ leg.action === 'buy' ? '-' : '+' }}${{ safeFixed(Math.abs(leg.price * leg.quantity * 100)) }}
Celkom: {{ customStrategyTotal >= 0 ? '+' : '' }}${{ safeFixed(customStrategyTotal) }} ({{ customStrategyTotal >= 0 ? 'Credit' : 'Debit' }})
Max Profit: {{ customStrategyMaxProfit }} | Max Loss: {{ customStrategyMaxLoss }}
Net Greeks: Δ={{ safeFixed(customStrategyGreeks.delta, 3) }} Γ={{ safeFixed(customStrategyGreeks.gamma, 4) }} Θ={{ safeFixed(customStrategyGreeks.theta, 2) }} V={{ safeFixed(customStrategyGreeks.vega, 2) }}
P/L Diagram
🤖 AI Mentor - {{ $t('ai_mentor.strategy_analysis') || 'Strategy Analysis' }}

{{ $t('strategy.analyzing_strategy_msg') }}

{{ msg.role === 'user' ? '👤 Vy' : '🤖 Mentor' }} {{ msg.timestamp }}
🤖 Mentor
⚠️

{{ $t('modals.open_positions_title') }}

{{ $t('modals.open_positions_text') }}

  • {{ $t('trading.stocks') }}: {{ portfolio.stocks.quantity }} {{ $t('common.pcs') }} ({{ portfolio.stocks.quantity > 0 ? 'Long' : 'Short' }})
  • {{ opt.option_type.toUpperCase() }}: Strike ${{ opt.strike }}, {{ opt.quantity }} {{ $t('trading.contracts') || 'contract(s)' }}

{{ $t('modals.generate_warning_text') || 'Generating a new chart will reset the portfolio and all open positions will be lost.' }}

⚠️

{{ $t('modals.load_new_data') || 'Loading new data' }}

{{ $t('modals.load_warning_text') || 'Loading new historical data will delete existing data:' }}

  • {{ $t('modals.historical_replaced') || 'Current historical data will be replaced' }}
  • {{ $t('modals.generated_deleted') || 'Generated data will be deleted' }}
  • {{ $t('modals.portfolio_reset') || 'Portfolio will be reset' }}
  • {{ $t('modals.option_chain_cleared') || 'Option chain will be cleared' }}
{{ $t('modals.positions_lost') || 'Current open positions will be lost:' }}
  • {{ $t('trading.stocks') || 'Stocks' }}: {{ portfolio.stocks.quantity }} {{ $t('common.pcs') || 'pcs' }} ({{ portfolio.stocks.quantity > 0 ? 'Long' : 'Short' }})
  • {{ opt.option_type.toUpperCase() }} ${{ opt.strike }}: {{ opt.quantity }} {{ $t('trading.contracts') || 'contract(s)' }}
🔄

{{ $t('modals.reset_simulation') || 'Reset Simulation' }}

{{ $t('modals.reset_confirm_question') || 'Are you sure you want to completely reset the simulation?' }}

{{ $t('modals.reset_warning') || 'This action will delete all data and return the application to its initial state.' }}

  • {{ $t('modals.historical_deleted') || 'Historical data will be deleted' }}
  • {{ $t('modals.generated_deleted') || 'Generated data will be deleted' }}
  • {{ $t('modals.portfolio_reset_budget') || 'Portfolio will return to initial budget' }}
  • {{ $t('modals.all_positions_closed') || 'All positions will be closed' }}
  • {{ $t('modals.option_chain_cleared') || 'Option chain will be cleared' }}
  • {{ $t('modals.volatility_chart_cleared') || 'Volatility chart will be cleared' }}
  • {{ $t('modals.all_panels_closed') || 'All open panels will be closed' }}
🎓

{{ $t('demo.tried_title') }}

{{ $t('demo.used_simulations', { count: settings.demo_simulation_limit }) }}

{{ $t('demo.register_benefits_title') }}

  • {{ $t('demo.benefit_unlimited') }}
  • {{ $t('demo.benefit_history') }}
  • {{ $t('demo.benefit_portfolio') }}
  • {{ $t('demo.benefit_premium') }}

💾

{{ $t('modals.session_restore_title') }}

{{ $t('modals.session_restore_text') }}

Ticker: {{ savedSessionInfo.ticker || 'N/A' }}
Model: {{ savedSessionInfo.model_type || 'N/A' }}
{{ $t('modals.candle_label') }}: {{ savedSessionInfo.current_candle_index }}
{{ $t('modals.saved_label') }}: {{ savedSessionInfo.updated_at ? new Date(savedSessionInfo.updated_at).toLocaleString() : 'N/A' }}

{{ $t('keyboard.title') || 'Keyboard Shortcuts' }}

Space{{ $t('keyboard.play_pause') || 'Play / Pause' }}
{{ $t('keyboard.step_back') || 'Step backward' }}
{{ $t('keyboard.step_forward') || 'Step forward' }}
R{{ $t('keyboard.reset') || 'Reset simulation' }}
Esc{{ $t('keyboard.close_modal') || 'Close modal' }}
?{{ $t('keyboard.toggle_help') || 'Toggle this help' }}
{{ toast.icon }}
{{ toast.message }}
⚠️

{{ errorModalTitle }}

{{ errorModalMessage }}

{{ $t('trading.shortfall') || 'Shortfall' }}: ${{ formatMoney(errorModalShortfall) }}
📊

{{ notificationModalTitle }}

{{ notif.icon }} {{ notif.message }}
{{ $t('modals.shortfall_label') }}: ${{ formatMoney(notificationModalShortfall) }}
⚠️

{{ confirmModalTitle }}

{{ confirmModalMessage }}

{{ $t('modals.prototype_title') || 'Prototype Version' }}

{{ $t('modals.welcome') || 'Welcome to Options Simulator!' }}

{{ $t('modals.prototype_desc') || 'This is a prototype version of the simulator. Some features may be limited or subject to change.' }}

{{ $t('modals.disclaimer') || 'The simulator is for educational purposes only. This is not investment advice or price predictions.' }}

{{ $t('demo.banner_title') }} – {{ $t('demo.banner_text') }} {{ $t('demo.simulations_remaining', { count: demoSimulationsRemaining, total: settings.demo_simulation_limit }) }} {{ $t('demo.register_prompt') }} {{ $t('demo.unlimited_access') }}.