I work at the intersection of finance, quantitative analysis, and data science, with a macro lens built inside a central bank. At the Bank of Thailand's Financial Stability Department, I learned to reason about how shocks transmit through the financial system and how policy responds — on analysis that reached senior decision-makers. My background in data science and analytics taught me to build models from messy, real-world data; and in my own projects, I build systematic trading and research systems end to end, turning financial hypotheses into tested, auditable research workflows and the infrastructure that runs them.

Experience

Bank of Thailand — ThailandNov 2022 – Jul 2025
Senior Analyst, Financial Stability Department
  • Monitored a portfolio of systemically important corporates to detect early signs of financial stress, engaging banks and corporates to prevent systemic spillovers
  • Investigated financial events and traced transmission linkages threatening Thailand's financial stability, producing insights that informed supervisory and policy discussions up to the Deputy Governor (Financial Institutions Stability)
  • Designed a suite of forward-looking risk indicators (liquidity, leverage, performance) using statistical and machine-learning methods, generating early-warning signals for senior management
  • Re-engineered a multi-day manual reporting workflow into a one-click automated Python/Excel pipeline (LET, FILTER, VBA), cutting turnaround from days to a single batch run; won the Governor's Award for Innovation
Bayes Business School — United KingdomOct 2021 – Sep 2022
Research Assistant to Dr. Simone Santoni, Strategy Group
  • Applied NLP to product-review data to analyze cognitive processes, contributing insights on consumer behavior toward cultural-product evaluation
  • Built data crawlers across 11 platforms to assemble a comprehensive user-and-product dataset, expanding the group's research capabilities
LINE MAN Wongnai — ThailandFeb 2020 – Jun 2020
Data Scientist Intern
  • Developed a CNN computer-vision model to classify food images, doubling the number of classes and lifting F1-score 5% over the incumbent model
  • Built a collaborative-filtering recommender for restaurant recommendations that outperformed the existing model and was deployed to production
Bank of Thailand — ThailandJan 2019 – Feb 2019
Foreign Exchange Analyst Intern
  • Researched Thai Baht outperformance vs. regional currencies with multiple regression, finding evidence of safe-haven characteristics that supported capital-flow management policy

Projects

TradeAssistant

🔒 Private build
A self-built systematic trading stack for FX & gold — research through gated auto-execution

An end-to-end pipeline: automated daily data refresh (broker feeds + point-in-time macro vintages), alpha/timing/risk models validated with walk-forward selection and transaction-cost stress tests, and an automated LLM "economist" review. Beyond backtesting, it continuously collects forward/live data to track out-of-sample behavior. Execution runs from human-reviewed decision support through to automatic execution via an MT5 Expert Advisor governed by fail-closed risk gates, per-trade stops, equity-floor new-risk blocking, and manual halt controls. It runs as a scheduled, always-on hosted service with monitoring, alerting, automated reconciliation, off-site backup, and private authenticated access to the dashboard.

PythonpandascTrader / MT5FREDmachine learningClaude / LLMStreamlitVPSAWS S3alertingprivate access
Private trading infrastructure — strategy logic, sizing, positions, and performance intentionally omitted.

EquityAssistant

🔒 Private build
An IBKR paper-trading portfolio automation lab — long/short equity with options-aware accounting and overlay research

A paper-only automation lab on Interactive Brokers — dry-run by default, with paper-account allowlisting, forward-only ledgers, and broker-validation snapshot tooling (no real capital). Includes a portfolio "lab" dashboard for allocation, rebalancing, turnover-cost modeling, and data-quality monitoring.

PythonIBKR APIpandasStreamlit
Paper-trading research lab — no real capital; strategy details intentionally omitted.

TradeAssistant — system architecture

1 Data market-data feeds + point-in-time macro vintages 2 Research & modeling feature engineering · model research · risk controls 3 Validation walk-forward selection · cost-realism stress · control checks 4 Review & decision automated LLM 'economist' review · human-reviewable decision sheet 5 Gated execution fail-closed risk gates · per-trade stops · manual halt
  • End-to-end systems engineering — from data and research through validation and gated execution.
  • Research integrity — point-in-time data, walk-forward validation, and live out-of-sample tracking to guard against look-ahead bias and overfitting.
  • Risk-first design — fail-closed risk gates, per-trade stops, equity-floor new-risk blocking, and manual halt controls.
  • Human + AI workflow — LLM review augments the workflow; execution authority stays isolated to the gated EA path.

Education

National University of Singapore — SingaporeAug 2025 – Dec 2026
MSc Economics (Quantitative Economics track)
Fee Rebate Recipient AY25/26
Coursework: Econometrics, Machine Learning, Portfolio Management, Quantitative Investing (cross-faculty with MSc Financial Engineering)
Bayes Business School, City, University of London — United KingdomSep 2020 – Sep 2021
MSc Business Analytics
Distinction (79.33), Top 1%
Coursework: Applied Machine Learning, Quantitative Methods, Network Analytics, Applied NLP
Tokyo International University — JapanSep 2016 – Aug 2019
BA Economics
Valedictorian (3.794/4.000) — sole graduate qualified for early graduation in cohort
Coursework: Econometrics, Game Theory, Machine Learning in Finance & Economics, Investments, Finance, Behavioral Economics

Skills & Certifications

Technical: Financial Analysis · Risk Management · Quantitative & Portfolio Analysis · Econometrics · Python · R · SQL/PSQL · VBA · Tableau · MongoDB · AWS · GCP · Git

Certifications: Financial Risk Manager (FRM) — Part I passed; Part II candidate (Aug 2026)

Recognition: Liaison Officer to Governor Kazuo Ueda (Bank of Japan), 30th EMEAP Governors' Meeting, Jul 2025 — 1 of 15 appointed · Finalist, 2020 Microsoft Azure / UNDP Hackathon

Languages: Thai (Native), English (Fluent), Japanese (Conversational)

Notes

LLMs as research reviewers, not traders

June 2026 · AI in research

There's a lot of noise about AI "making trades." I think that's the wrong job for it. In my own systems, the language model never sizes a position, never executes, and never promotes a strategy. It reviews.

What it's genuinely good at is the analyst's grunt work: reading a wall of central-bank language and data releases, summarizing what changed versus expectations, surfacing historical analogues, and flagging where my own reasoning is thin. It's a tireless research assistant that argues with me — not a decision-maker I outsource to.

Keeping the model on the research side of the line is deliberate. Execution authority lives in a separate, gated path with hard risk controls; the LLM can inform that path but has no power over it. That separation is the point: I get the speed and breadth of AI over messy, unstructured macro information, while judgment, sizing, and risk stay where they belong.

Used this way, AI widens what one person can monitor — without widening what can go wrong.

Fail-closed design in financial systems

June 2026 · systems design

In most software, when something breaks the default is to keep going and log the error. In a system that can move money, that instinct is backwards — the safe default is to stop.

I build my research and execution tooling to fail closed: if market data is stale, the account identity doesn't match, the model's context is incomplete, or reconciliation doesn't tie out, the system blocks new risk rather than guessing. Doing nothing is a valid — often the correct — action.

This inverts a lot of normal engineering habits. It means writing code that distrusts its own inputs, treats every upstream feed as guilty until proven current, and treats "I'm not sure" as a hard stop, not a warning. The hard part isn't the happy path; it's enumerating the failure modes and deciding, in advance, what "safe" means for each.

The payoff is a bounded worst case. A system that fails closed can miss an opportunity — but it's far harder for it to be catastrophically wrong about risk.

A research result is only as good as its negative controls

June 2026 · methodology

A backtest that looks good tells you almost nothing on its own. The question that matters is: how hard did you try to make it fail?

Most of my research time goes into negative controls, not positive results. Before I believe a pattern, I want it to survive walk-forward validation — choose parameters on the past, test on the untouched next slice — plus realistic transaction-cost stress and no-lookahead checks that confirm every decision used only what was knowable at the time. I also run controls designed to produce nothing: random-direction and opposite-signal versions. If those "work," my test is broken — I haven't found anything.

The discipline I value most is killing ideas cleanly. It's tempting to tweak until a result appears, but that's just overfitting with extra steps. A result I trust is one that kept working after I stopped helping it.

Most ideas don't survive that process. That's the system working, not failing.

Why point-in-time macro data matters

June 2026 · methodology

Most macro series are quietly revised after their first release. Backtest a strategy on today's final GDP or inflation prints and you let the model "see" numbers that didn't exist on the decision date — a subtle look-ahead bias that flatters the results.

The fix is point-in-time (vintage) data: store what was actually known as of each date, and reconstruct that as-of view for every decision. In my own research stack I keep FRED macro vintages and rebuild the information set per decision date. It's less convenient, and the backtests look worse — which is exactly the point. A strategy that only works on revised data isn't a strategy; it's hindsight.