Kembali ke Riset

Ringkasan

Dokumen ini merancang integrasi antara subsistem MarketLens (analisis teknikal komprehensif) dengan Optimal Entry Screener (implementasi sistem momentum Adam Khoo).

Tujuan utama adalah menciptakan single source of truth untuk indikator teknikal dengan membuat subsistem baru yang mandiri tanpa mengganggu MarketLens yang sudah online.

Latar Belakang

Arsitektur Saat Ini

graph TD A[MarketLens/TechnicalAnalysis.php] -->|Indikator Komprehensif| B[public/marketlens_analisis.php] C[optimal_entry_screener.php] -->|Indikator Duplikat| D[Optimal Entry API] E[config/optimal_entry.php] --> C F[(stock_summary DB)] --> A F --> C style A fill:#e1f5ff style C fill:#ffe1e1 style F fill:#fff3cd
Masalah
  • Duplikasi Kode: optimal_entry_screener.php memiliki implementasi sendiri untuk SMA, EMA, RS calculation
  • Inkonsistensi Potensial: Dua implementasi berbeda untuk indikator yang sama
  • Maintenance Overhead: Perubahan pada indikator harus dilakukan di dua tempat

Arsitektur Target (Isolated Subsystem)

graph TD A[MarketLens/TechnicalAnalysis.php] -->|Existing| B[public/marketlens_analisis.php] C[MarketLens_v2/MomentumAnalysis.php] -->|New Subsystem| D[public/api/momentum_screener_v2.php] E[MarketLens_v2/MomentumAnalysis_helper.php] --> C F[config/optimal_entry.php] --> C G[(stock_summary DB)] --> A G --> C H[(optimal_entry_signals DB)] --> D style A fill:#e1f5ff style B fill:#e1f5ff style C fill:#c8e6c9 style D fill:#c8e6c9 style E fill:#c8e6c9 style G fill:#fff3cd style H fill:#fff3cd
Keuntungan
  • Zero Risk: MarketLens existing tidak tersentuh sama sekali
  • Isolated Development: Subsistem baru bisa dikembangkan dan ditest secara independen
  • Shared Database: Menggunakan tabel yang sama (stock_summary, optimal_entry_signals)
  • Single Source of Truth: Indikator terpusat di MomentumAnalysis.php
  • Easy Rollback: Jika ada masalah, tinggal hapus file baru
  • Gradual Migration: Bisa migrasi bertahap dari optimal_entry_screener.php

Prinsip Desain

Non-Invasive Architecture

Pendekatan ini mengikuti prinsip:

  1. Tidak mengubah file existing MarketLens (TechnicalAnalysis.php, TechnicalAnalysis_helper.php, dll)
  2. Membuat folder baru MarketLens_v2/ untuk subsistem momentum
  3. Menggunakan database tables yang sama untuk konsistensi data
  4. API endpoint baru yang bisa berjalan parallel dengan yang lama
  5. Frontend baru yang independen dari MarketLens existing
Backward Compatibility

Subsistem lama (optimal_entry_screener.php) tetap berfungsi normal. Setelah subsistem baru terbukti stabil, bisa dilakukan migrasi bertahap atau redirect.

Proposed Changes

Struktur File Baru (Isolated Subsystem)

autoportofolio/
├── MarketLens/                          # TIDAK DIUBAH - Existing subsystem
│   ├── TechnicalAnalysis.php
│   ├── config.php
│   └── ...
│
├── MarketLens_v2/                       # BARU - Momentum subsystem
│   ├── MomentumAnalysis.php            # Core engine untuk momentum analysis
│   ├── MomentumAnalysis_helper.php     # Helper functions untuk pattern detection
│   └── config.php                       # Config khusus momentum
│
├── public/
│   ├── api/
│   │   ├── optimal_entry_screener.php  # TIDAK DIUBAH - Old API
│   │   └── momentum_screener_v2.php    # BARU - New API endpoint
│   │
│   └── tools/
│       ├── optimal_entry_screener.php  # TIDAK DIUBAH - Old frontend
│       ├── momentum_screener_v2.php    # BARU - New frontend
│       └── js/
│           ├── optimal_entry_screener.js  # TIDAK DIUBAH
│           └── momentum_screener_v2.js    # BARU - New frontend JS
│
├── cron_jobs/
│   ├── cron_optimal_entry_detector.php       # TIDAK DIUBAH - Old cron
│   ├── cron_momentum_detector_v2.php         # BARU - New cron detector
│   └── cron_momentum_outcome_tracker_v2.php  # BARU - New cron tracker
│
└── config/
    └── optimal_entry.php                # TIDAK DIUBAH - Shared config

Fase Implementasi

NEW Fase 1: Core Engine - MomentumAnalysis.php

Purpose: Core class untuk analisis momentum trading dengan indikator Adam Khoo

Key Features:

  • Single source of truth untuk semua indikator momentum
  • Menggunakan database stock_summary yang sama dengan MarketLens
  • Independen dari TechnicalAnalysis.php (tidak ada dependency)
  • Optimized untuk momentum pattern detection

NEW Fase 2: Helper Functions

File: MomentumAnalysis_helper.php

Functions: Moving averages, pattern detection, candlestick patterns, support/resistance, volatility analysis, volume analysis, risk/reward calculations

NEW Fase 3: API Endpoint

File: momentum_screener_v2.php

Modes:

  • Auto Screener - Scan semua saham yang lolos prerequisites
  • Single Stock - Analisis detail untuk satu saham
  • Historical Signals - Query historical patterns dari database

NEW Fase 4: Frontend Interface

Features: Modern UI dengan Bootstrap 5, real-time data refresh, interactive candlestick charts, pattern visualization, historical performance tracking

NEW Fase 5: Cron Jobs

Files:

  • cron_momentum_detector_v2.php - Daily pattern detection (18:00)
  • cron_momentum_outcome_tracker_v2.php - Track outcomes (19:00)

Verification Plan

Automated Tests

Unit Tests

Test helper functions: SMA/EMA, pattern detection, swing detection

Integration Tests

Test MomentumAnalysis class: MA calculations, RS ranking, pattern detection

Parallel Testing

Compare old vs new: MA values, RS scores, pattern detection

Success Criteria

  • All automated tests pass
  • New subsystem works independently
  • Old subsystem still functions normally
  • No interference between old and new
  • Shared database tables work correctly
  • Documentation complete

Migration Strategy

Phase 1: Development & Testing (Week 1-2)

  • Develop MarketLens_v2/ subsystem
  • Create new API endpoint
  • Build new frontend
  • Write automated tests
  • Verify functionality

Phase 2: Parallel Running (Week 3-4)

  • Deploy new subsystem to production
  • Run both old and new cron jobs
  • Monitor for issues
  • Compare results
  • Gather user feedback

Phase 3: Gradual Migration (Week 5-6)

  • Add redirect option in old frontend to new frontend
  • Update documentation to recommend new subsystem
  • Monitor adoption

Phase 4: Deprecation (Optional, Month 3+)

  • If new subsystem proven stable
  • Deprecate old subsystem
  • Keep old files for reference
  • Update all links to point to new subsystem

Timeline Estimasi

Fase Durasi Deliverables
Fase 1: Core Engine3-4 hariMomentumAnalysis.php
Fase 2: Helper Functions2-3 hariMomentumAnalysis_helper.php
Fase 3: API Endpoint2 harimomentum_screener_v2.php (API)
Fase 4: Frontend3-4 hariFrontend interface + JS
Fase 5: Cron Jobs2 hariDetector + Tracker crons
Testing & Documentation3-4 hariTest suite + docs
TOTAL 15-19 hari kerja Complete subsystem

Rollback Plan

Jika Terjadi Masalah
  1. Hapus file baru - Tidak ada impact ke existing system
  2. Stop new cron jobs - Old cron masih berjalan
  3. Revert database (jika ada corruption) - Restore dari backup
  4. No downtime - Old system tidak terpengaruh sama sekali

Keuntungan Pendekatan Isolated Subsystem

Zero Risk

MarketLens existing tidak tersentuh

Independent Development

Bisa develop dan test tanpa worry

Easy Rollback

Tinggal hapus file baru

Parallel Running

Bisa compare old vs new

Gradual Migration

User bisa pilih mana yang dipakai

Future Proof

Template untuk subsystem lain

CR
Martua Siringoringo Founder & Lead Analyst di AutoPortofolio. Praktisi value investing dengan pendekatan kuantitatif. Mengembangkan sistem valuasi berbasis Benjamin Graham, Z-Score, dan CIVM untuk investor mandiri di Indonesia.
Pendekatan Analitik Terintegrasi

Informasi Kuantitatif AutoPortofolio

Ringkasan valuasi fundamental, kesehatan finansial, dan analisis teknikal sebagai bahan evaluasi investasi.

Kerangka Valuasi dan Risiko CIVM

Model CIVM merangkum valuasi fundamental, stabilitas bisnis, risiko, dan sinyal pasar sebagai bahan evaluasi investasi yang lebih disiplin.

  • Pengukuran stabilitas keuangan dengan Coefficient of Variation pada Nilai Buku dan ROE
  • Penyesuaian valuasi berdasarkan rasio pembayaran dividen sebagai indikator kualitas laba
  • Integrasi beberapa lapisan guardrail untuk menghindari valuasi yang terlalu agresif
  • Parameter produksi dan metode scoring internal tidak dipublikasikan sebagai spesifikasi implementasi

Analisis Z-Score untuk Kesehatan Finansial

Metode Altman Z-Score membantu memprediksi risiko kebangkrutan. AutoPortofolio menggunakannya untuk memastikan portofolio berisi emiten yang sehat dan resilien.

  • Menilai probabilitas financial distress emiten secara kuantitatif
  • Mengidentifikasi perusahaan dengan struktur modal yang solid
  • Mengurangi eksposur terhadap saham dengan kualitas aset yang menurun
  • Mendukung alokasi dana pada emiten dengan kesehatan finansial terjaga

Referensi Analisis Teknikal Saham

Pelajari metodologi analisis teknikal dari level dasar hingga lanjutan untuk memahami momentum dan perilaku harga pasar.

  • Dasar pembacaan grafik dan formasi candlestick
  • Pengenalan pola grafik serta indikator untuk pemula
  • Referensi indikator tingkat menengah hingga lanjutan
  • Penyusunan strategi trading berbasis sinyal teknikal

Loading...