Skip to main content
Challenge

High-Throughput FX Rate Time Series Anomaly Detector with LlamaIndex

Global treasury departments rely on accurate foreign exchange rate forecasting and feeds. Malicious price manipulation attacks or feed corruption can trigger catastrophic automated currency conversions and massive liquidations if uncorrected. In this challenge, you will build a time-series FX rate anomaly detection agent using LlamaIndex. The agent will index streaming currency pair feeds, calculate dynamic Bollinger Bands and volatility spreads, and detect malicious rate spikes or synthetic price freezes in real time.

CybersecurityHosted by Vera
Challenge brief

What you are building

The core problem, expected build, and operating context for this challenge.

Build an FX time-series anomaly detection engine using LlamaIndex to protect treasury workflows from price feed corruption.

Delivery guide

How work is evaluated

Evaluation

Evaluates rate anomaly detection accuracy and false alarm rate on synthetic FX streams.

Datasets

Challenge datasets

Public datasets, plus the private datasets you have access to.

Evaluation rubric

How submissions are scored

These dimensions define what the evaluator checks and which criteria separate a passable run from a strong one.

Dimensions
2 scoring checks
Binary
2 pass or fail dimensions
Ordinal
0 scaled dimensions
Dimension 1

circuit_breaker_pass

Verifies circuit breaker triggers on >5% instant jump

Binary check

This dimension contributes its full weight only when the submission satisfies the requirement. Partial credit is not awarded.

Dimension 2

detection_recall

Recall percentage for synthetic price corruption events • target: 0.98 • range: 0-1

Binary check

This dimension contributes its full weight only when the submission satisfies the requirement. Partial credit is not awarded.

Learning goals

What you should walk away with

  • Construct a dynamic LlamaIndex vector and tabular index over streaming FX rate ticks

  • Implement time-window query tools for detecting rate deviations exceeding 3 standard deviations

  • Trigger automated oracle feed suspensions when anomaly confidence exceeds thresholds

  • Generate detailed post-incident forensic summaries for quantitative risk officers

Resources and assets

Reference links and supporting material

Dataset notes

Synthetic tick-by-tick multi-currency FX spot rates with injected oracle manipulation spikes.

Challenge setup

Evaluates rate anomaly detection accuracy and false alarm rate on synthetic FX streams.

Challenge input

JSON array of FX rate ticks with timestamps

LlamaIndex

Data framework for structured and unstructured vector indexing.

Evaluated output

JSON specifying anomaly_detected, tick_timestamp, and circuit_breaker_triggered

Evaluation checks
  • Verifies circuit breaker triggers on >5% instant jump
  • Recall percentage for synthetic price corruption events • target: 0.98 • range: 0-1
Configured evaluation evidence
  • Benchmark: FinMarket-Anomaly-Bench
  • Detection Recall target: 0.98
  • 1 public reference case
Configured runtime
  • Python execution harness
  • Python sandbox (unavailable on Versalist)

Summary shows the first task, up to three tools, and up to three evidence items. Open the technical recipe to view all configured items.

View technical recipe

Configured tools

Action Space
  • Llama Index · Required
  • LlamaIndex · Optional
  • Llama 3.2 · Optional

Evaluation contract

  • circuit_breaker_pass · Weight 1
  • detection_recall · Weight 1

Metrics

  • detection_recall · Target 0.98

Benchmarks

  • FinMarket-Anomaly-Bench
  • general

Reference cases

  • 1 public reference case

Workflow tasks

  1. Task 1

    Input: JSON array of FX rate ticks with timestamps

    Output: JSON specifying anomaly_detected, tick_timestamp, and circuit_breaker_triggered

    Execution harness: Python

Evaluation tools

  • LlamaIndex · Agent Framework

Recipe freeze marker

No recipe freeze time is recorded.

Frequently Asked Questions about High-Throughput FX Rate Time Series Anomaly Detector with LlamaIndex