Profile data model (ARCHITECTURE.md §6A, Family C). Price-bucketed distributions: volume-at-price, time-at-price (TPO), and bid/ask footprint.

interface VolumeProfileResult {
    buckets: { price: number; volume: number }[];
    poc: number;
    totalVolume: number;
    vah: number;
    val: number;
}

Properties

buckets: { price: number; volume: number }[]

Volume per price bucket, sorted high → low price.

poc: number

Point of control: price bucket with the most volume.

totalVolume: number
vah: number

Value-area high / low (the price band holding valueAreaPercent of volume).

val: number