The price estimation process needs to be robust against trades with prices that are diverting from the current market price of an asset pair. Reasons for diverting trades can be market manipulation, errors, flash crashes on certain exchanges, or other market irregularities.Detecting and excluding outliers and market manipulation is an important data processing task, especially in small and (somewhat) intransparent markets. Otherwise, a single low-volume trade can offset the price estimation and serve as a base token for other assets, leading to a chain reaction of misaligned price data.We calculate our cryptocurrency spot-prices using 120-second moving average (SMA) with a weighting of trade volumes (VWAP). Small volume trades have a proportionally smaller influence on the determined price than bigger volume trades. In order to create reliable pricing, we also exclude data points and sets entirely that lie outside of an acceptable range relative to the interquartile range of all data points.
The Interquartile Range filter in DIA examined all trades in a trades block (i.e. all trades in the predefined time range) and sorts them by their recorded price.After that, this range of prices is divided into four price blocks, the Quartiles. The boundaries of the full price range also determine the boundaries of the first and the last quartile.To clear out outliers, any trades falling into the first or the last quartile are filtered out and subsequently, only trades falling into the “middle” quartiles are returned to the caller.Given the first and third quartiles Q1 and Q3, with the interquartile range IQR=Q3−Q1, the filter keeps only trades whose price p falls within the middle two quartiles:Q1≤p≤Q3
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"DIA · Blockchain Oracles","description":"Verifiable blockchain oracle infrastructure for DeFi and institutions. Market and fundamental price feeds, reserve verification, and more.","colors":{"primary":"#000000","light":"#B8FF9D","dark":"#000000"},"logo":{"light":"https://mintcdn.com/diadata/9lX_sa90a9XlPedd/logo/light.svg?fit=max\u0026auto=format\u0026n=9lX_sa90a9XlPedd\u0026q=85\u0026s=0647d9519c7b40aca228dfe6bcd68e40","dark":"https://mintcdn.com/diadata/9lX_sa90a9XlPedd/logo/dark.svg?fit=max\u0026auto=format\u0026n=9lX_sa90a9XlPedd\u0026q=85\u0026s=b37960e762410232222872b2f71763c5","href":"https://www.diadata.org/"},"favicon":"https://mintcdn.com/diadata/9lX_sa90a9XlPedd/favicon.svg?fit=max\u0026auto=format\u0026n=9lX_sa90a9XlPedd\u0026q=85\u0026s=1c340dddac7f3e5c9762c3f8d1f9b1c2","appearance":{"default":"system"},"background":{"color":{"light":"#FFFFFF","dark":"#000000"}},"navbar":{"links":[{"icon":"arrow-right","href":"https://www.diadata.org/app/","label":"Explore data"}],"primary":{"type":"button","label":"Talk to us","href":"https://www.diadata.org/contact/"}},"footer":{"socials":{"x":"https://twitter.com/DIAdata_org","discord":"https://discord.gg/RjHBcZ9mEH","telegram":"https://t.me/diadata_org","linkedin":"https://www.linkedin.com/company/diadata-org","medium":"https://www.diadata.org/blog","github":"https://github.com/diadata-org"}},"seo":{"metatags":{"google-site-verification":"9Cd9xvn3OiQzLUJ7cOS7cZ1Qejq8Cqa9j_lxzfXurDM"}},"fonts":{"heading":{"family":"Matter"},"body":{"family":"Matter"}},"styling":{"codeblocks":"system","latex":true},"integrations":{"posthog":{"apiKey":"phc_98rVByHjJm7K6tMshM85wvyM0Lc4rXaDp12JkKC5XdL","sessionRecording":true}},"contextual":{"options":["copy","view","chatgpt","claude"],"display":"header"},"navigation":{"global":{"anchors":[{"anchor":"Talk to a dev","icon":"discord","href":"https://discord.gg/RjHBcZ9mEH"},{"anchor":"Blog Updates","icon":"newspaper","href":"https://www.diadata.org/blog/"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"diadata","hasAudioNarration":false,"actualSubdomain":"diadata","customDomains":["www.diadata.org"],"gitSource":{"type":"github","owner":"diadata-org","repo":"dia-docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6abf8ddb71a9070a653969b7","collectionId":"c0b9f0de-a134-4c03-be7c-24417823baf9","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6abf8ddb71a9070a653969b7"},"feedback":{"thumbs":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6abf8ddb71a9070a653969b7","clientVersion":"0.0.3971","searchFilterCounts":[{"language":"default","tag":"Guides","count":107},{"language":"default","tag":"Chain-specific Guides","count":55},{"language":"default","tag":"Supported Chains","count":53},{"language":"default","tag":"API Reference","count":25},{"language":"default","tag":"Token Prices","count":20},{"language":"default","tag":"General Guides","count":19},{"language":"default","tag":"RestAPI","count":17},{"language":"default","tag":"DIA Stack","count":16},{"language":"default","tag":"Resources","count":12},{"language":"default","tag":"How-to Guides","count":11}]},"assistantConfig":{},"basePath":"/docs","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-v7-file-tree","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"pause-universal-search-reconcile","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"per-site-search-delta","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-private-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-nav-generations","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-agent-model-picker","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"isAtlas":false,"googleFontsInlined":false},"customCss":[{"filePath":"style.css","content":"@keyframes dia-dial-rotate{0%{transform:translate(-50%,-50%) rotate(0deg)}to{transform:translate(-50%,-50%) rotate(360deg)}}@font-face{font-family:\"Matter\";src:url(https://www.diadata.org/docs/fonts/Matter-Regular.woff2) format(\"woff2\"),url(https://www.diadata.org/docs/fonts/Matter-Regular.woff) format(\"woff\");font-weight:400;font-style:normal}@font-face{font-family:\"Matter\";src:url(https://www.diadata.org/docs/fonts/Matter-SemiBold.woff2) format(\"woff2\"),url(https://www.diadata.org/docs/fonts/Matter-SemiBold.woff) format(\"woff\");font-weight:600;font-style:normal}@font-face{font-family:\"Matter Mono\";src:url(https://www.diadata.org/docs/fonts/MatterMono-Regular.woff2) format(\"woff2\"),url(https://www.diadata.org/docs/fonts/MatterMono-Regular.woff) format(\"woff\");font-weight:400;font-style:normal}@font-face{font-family:\"Matter\";src:url(https://www.diadata.org/docs/fonts/Matter-Medium.woff2) format(\"woff2\");font-weight:500;font-style:normal}@font-face{font-family:\"Matter Mono\";src:url(https://www.diadata.org/docs/fonts/MatterMono-Medium.woff2) format(\"woff2\");font-weight:500;font-style:normal}body,h1,h2,h3,h4,h5,h6{font-family:\"Matter\";font-weight:400}h1,h2{letter-spacing:-.01em}.prose li,.prose p{color:#404040!important}.dark .prose li,.dark .prose p{color:#ccc!important}#navigation-items h5,.nav-tabs a,.nav-tabs-item,.sidebar-group-header h5,[class*=nav-tabs] a{font-family:\"Matter Mono\"!important;text-transform:uppercase!important;font-size:12px!important;letter-spacing:.06em!important}#navigation-items h5,.sidebar-group-header h5{font-size:11px!important;letter-spacing:.08em!important;color:#999!important}#navigation-items a:hover:not([class*=bg-primary]):not(.nav-anchor),#navigation-items button:hover{background-color:#f1f1f1!important;outline:0!important;border-radius:0!important}#navigation-items a[class*=bg-primary]{background-color:#f1f1f1!important;outline:0!important;box-shadow:inset 2px 0 0 #000!important;color:#000!important;border-radius:0!important}.dark #navigation-items a:hover:not([class*=bg-primary]):not(.nav-anchor),.dark #navigation-items button:hover{background-color:#1b1b1b!important;outline:0!important;border-radius:0!important}.dark #navigation-items a[class*=bg-primary]{background-color:#1b1b1b!important;outline:0!important;box-shadow:inset 2px 0 0 #b8ff9d!important;color:#fff!important;border-radius:0!important}.callout{background-color:#f1f1f1!important;border-color:#e5e5e5!important}.callout i,.callout svg{color:#000!important;fill:#000!important}.callout a{color:#000!important;text-decoration:underline!important}.dark .callout{background-color:#1b1b1b!important;border-color:#262626!important}.dark .callout i,.dark .callout svg{color:#b8ff9d!important;fill:#b8ff9d!important}.dark .callout a{color:#b8ff9d!important}.card{background-color:#fff!important;border:1px solid #e5e5e5!important;box-shadow:none!important}.card:hover,.dark .card:hover{border-color:#000!important;box-shadow:none!important}.dark .card{background-color:#000!important;border-color:#262626!important}.dark .card:hover{border-color:#b8ff9d!important}.card [class*=font-semibold],.card h2{font-family:\"Matter\"!important;font-weight:400!important;font-size:18px!important}.prose :not(pre)>code{border-radius:0!important;background-color:#f1f1f1!important;color:inherit!important;border:0!important}.dark .prose :not(pre)>code{background-color:#1b1b1b!important}.prose a{color:#000!important;text-decoration:underline!important;text-decoration-color:#ccc!important}.prose a:hover{text-decoration-color:#000!important}.dark .prose a{color:#b8ff9d!important}#assistant-entry,#assistant-entry-mobile,#feedback-thumbs-down,#feedback-thumbs-up,#page-context-menu-button,#page-context-menu-button+button,#search-bar-entry,.card{border-radius:0!important}#feedback-thumbs-down:hover,#feedback-thumbs-up:hover{border-color:#000!important}.dark #feedback-thumbs-down:hover,.dark #feedback-thumbs-up:hover,.dark #page-context-menu-button+button:hover,.dark #page-context-menu-button:hover{border-color:#b8ff9d!important}#page-context-menu-button+button:hover,#page-context-menu-button:hover{border-color:#000!important;background-color:transparent!important}#page-context-menu-button:hover{border-right:1px solid #000!important}.dark #page-context-menu-button:hover{border-right:1px solid #b8ff9d!important}[class*=border-t][class*=flex][class*=justify-between]{margin-top:3rem!important;padding-top:1.5rem!important}.dia-btn,.dia-kicker{font-family:\"Matter Mono\"!important}.dia-kicker{font-weight:500!important;font-size:12px!important;text-transform:uppercase!important;letter-spacing:.08em!important;color:#666!important}.dark .dia-kicker{color:#999!important}.dia-btn{position:relative;overflow:hidden;display:inline-flex!important;align-items:center;justify-content:space-between;gap:24px;min-width:220px;min-height:50px;padding:8px 16px;font-weight:500;font-size:14px;line-height:1.2;text-transform:uppercase;letter-spacing:.08em;text-align:left;text-decoration:none!important;border-radius:0!important;transition:all .3s ease}.dia-btn>span[data-as=p]{display:contents}.dia-btn-label{position:relative;z-index:1;max-width:14ch}.dia-btn-arrow{position:relative;z-index:1;width:24px;height:24px;flex-shrink:0;overflow:hidden;display:flex;align-items:center;justify-content:center}.dia-btn-arrow img{position:absolute;width:18px;height:11px;margin:0!important;transition:transform .3s ease}.dia-btn-arrow img:nth-child(1){transform:translateX(0)}.dia-btn-arrow img:nth-child(2){transform:translateX(-24px)}.dia-btn:hover .dia-btn-arrow img:nth-child(1){transform:translateX(24px)}.dia-btn:hover .dia-btn-arrow img:nth-child(2){transform:translateX(0)}.dia-btn::before,.dia-tile::before{content:\"\";position:absolute;inset:0;background:url(images/brand/mesh-gradient.jpg) no-repeat center/cover;opacity:0;transition:opacity .3s ease}.dia-btn:hover::before,.dia-tile:hover::before{opacity:1}.dia-btn-green{background:#b8ff9d!important;color:#000!important;border:1px solid #b8ff9d!important}.dia-btn-outline{background:0 0!important;border:1px solid #000!important}.dia-btn:hover{border-color:transparent!important;color:#000!important}.dark .dia-btn-outline{color:#fff!important;border-color:#fff!important}.dark .dia-btn-outline:hover,.dark .dia-tile:hover,.dark .dia-tile:hover *,.dark li.navbar-link>a:hover span,.dia-btn-outline{color:#000!important}.dark .dia-btn-outline .dia-btn-arrow img,.dark .dia-tile .dia-btn-arrow img,.dia-btn-outline-dark:hover .dia-btn-arrow img{filter:invert(1)}.dark .dia-btn-outline:hover .dia-btn-arrow img{filter:none}.dia-btn-outline-dark{background:0 0!important;color:#fff!important;border:1px solid rgba(255,255,255,.6)!important}.dia-btn-outline-dark:hover{color:#000!important;border-color:transparent!important}@media (max-width:1023px){.dia-btn{min-width:0;flex:1 1 0;gap:12px;padding:8px 12px;font-size:12px}}.dia-hairline-row{border-top:1px solid #e5e5e5!important;padding:20px 0!important}.dark .dia-hairline-row{border-top-color:#262626!important}.dia-tile{position:relative;display:flex;flex-direction:column;justify-content:space-between;gap:24px;min-height:160px;padding:20px;background:#f1f1f1!important;border-radius:0!important;text-decoration:none!important;color:#000!important}.dia-tile>*{position:relative;z-index:1}.dark .dia-tile{background:#1b1b1b!important;color:#fff!important}.dia-tile-label{font-family:\"Matter Mono\"!important;font-weight:500!important;font-size:12px!important;text-transform:uppercase!important;letter-spacing:.08em!important;color:#666!important}.dark .dia-tile-body,.dark .dia-tile-label{color:#999!important}.dia-tile-body,.dia-tile-title{font-family:\"Matter\"!important;font-weight:400!important}.dia-tile-title{font-size:24px!important;line-height:1.2!important;letter-spacing:-.01em!important}.dia-tile-body{font-size:15px!important;line-height:1.4!important;color:#666!important}.dia-tile-arrow{align-self:flex-end}.dia-tile:hover .dia-btn-arrow img:nth-child(1){transform:translateX(24px)}.dia-tile:hover .dia-btn-arrow img:nth-child(2){transform:translateX(0)}.dark .dia-tile:hover .dia-btn-arrow img,.dark li.navbar-link>a:hover::after{filter:none}.dia-band-grey{background:#f1f1f1;padding:64px 0}@media (min-width:1024px){.dia-band-grey{padding:96px 0}}.dark #theme-preference-menu-trigger:hover,.dark .dia-band-grey{background:#1b1b1b}.dia-band-grey .dia-tile{background:#fff!important}.dark .dia-band-grey .dia-tile{background:#000!important}.dia-stat-value{font-family:\"Matter\"!important;font-weight:400!important;font-size:40px!important;letter-spacing:-.02em!important}#topbar-cta-button>a,.dia-stat-label,li.navbar-link>a{font-family:\"Matter Mono\"!important;font-weight:500!important;font-size:12px!important}.dia-stat-label{text-transform:uppercase!important;letter-spacing:.08em!important;color:#666!important}.dark .dia-stat-label{color:#999!important}.dia-fold{text-align:center}.dia-fold h1{font-size:36px;line-height:1;letter-spacing:-.01em;font-weight:400}@media (min-width:1024px){.dia-fold h1{font-size:64px}}.dia-fold-sub{font-family:\"Matter Mono\";font-size:15px;line-height:1.4;color:#404040;max-width:522px;margin:0 auto}.dark .dia-fold-sub{color:#ccc}.dia-fold{position:relative;overflow:hidden}.dia-fold>.dia-fold-content{position:relative;z-index:1}.dia-dial{position:absolute;left:50%;top:50%;width:max(1100px,80vw);aspect-ratio:1/1;pointer-events:none;z-index:0;transform:translate(-50%,-50%) rotate(0deg);animation:dia-dial-rotate 240s linear infinite}.dia-dial img{width:100%;height:100%;margin:0!important;max-width:none!important}.dark .dia-dial-on-light,.dia-dial-on-dark{display:none}.dark .dia-dial-on-dark{display:block}@media (max-width:1023px){.dia-dial{display:none}}@media (prefers-reduced-motion:reduce){.dia-dial{animation:none}}.dia-layers{display:grid;gap:24px}@media (min-width:1024px){.dia-layers{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}}.dia-layer{position:relative;display:grid;text-decoration:none!important;color:#fff;border-style:solid;border-color:rgba(255,255,255,.2);border-width:1px 0 0;padding-top:16px;grid-template-areas:\"title number\" \"text text\";grid-template-columns:1fr auto;gap:12px}@media (min-width:1024px){.dia-layer{border-width:0 0 0 1px;padding-top:0;padding-left:20px;min-height:280px;grid-template-rows:auto 1fr;row-gap:48px}}.dia-layer-bg{position:absolute;inset:-10px -20px -10px 0;background:#1b1b1b;opacity:0;transition:opacity .4s ease;z-index:0}.dia-layer:hover .dia-layer-bg{opacity:1}.dia-layer-title{grid-area:title;position:relative;z-index:1;font-family:\"Matter\";font-weight:400;font-size:20px;line-height:1.2;letter-spacing:-.01em;color:#fff;max-width:12ch}@media (min-width:1024px){.dia-layer-title{font-size:24px}}.dia-layer-number{grid-area:number;position:relative;z-index:1;font-family:\"Matter Mono\";font-size:15px;line-height:1.4;color:#fff}.dia-layer-sub{display:block;margin-top:8px;font-family:\"Matter Mono\";font-weight:500;font-size:12px;line-height:1.2;text-transform:uppercase;letter-spacing:.08em;color:#999}.dia-layer-text{grid-area:text;align-self:end;position:relative;z-index:1;font-family:\"Matter Mono\";font-size:15px;line-height:1.4;color:#ccc;margin:0}#topbar-cta-button>a,li.navbar-link>a{position:relative;overflow:hidden;display:inline-flex!important;align-items:center;justify-content:space-between;gap:24px;min-width:144px;min-height:38px;padding:4px 12px!important;border-radius:0!important;line-height:1.2!important;text-transform:uppercase;letter-spacing:.08em;white-space:normal!important;text-align:left;color:#000!important;isolation:isolate}#topbar-cta-button>a span:not(.absolute),li.navbar-link>a span{max-width:8ch;white-space:normal!important;overflow:visible!important;text-overflow:clip!important;color:#000!important;position:relative;z-index:1}#topbar-cta-button>a svg,li.navbar-link>a svg{display:none!important}#topbar-cta-button>a::after,li.navbar-link>a::after{content:\"\";position:relative;z-index:1;width:24px;height:24px;flex-shrink:0;background-image:url(/images/brand/arrow-right-black.svg),url(/images/brand/arrow-right-black.svg);background-repeat:no-repeat,no-repeat;background-size:18px 11px,18px 11px;background-position:3px center,-21px center;transition:background-position .3s ease}#topbar-cta-button>a:hover::after,li.navbar-link>a:hover::after{background-position:27px center,3px center;transform:none}#topbar-cta-button>a::before,li.navbar-link>a::before{content:\"\";position:absolute;inset:0;background:url(/images/brand/mesh-gradient.jpg) no-repeat center/cover;opacity:0;transition:opacity .3s ease;z-index:0}#topbar-cta-button>a:hover::before,li.navbar-link>a:hover::before{opacity:1}li.navbar-link>a{border:1px solid #404040;background:0 0}li.navbar-link>a:hover{border-color:transparent}.dark li.navbar-link>a{border-color:rgba(255,255,255,.6);color:#fff!important}.dark li.navbar-link>a span{color:#fff!important}.dark li.navbar-link>a::after{filter:invert(1)}#topbar-cta-button>a>span.absolute{background:#b8ff9d!important;border-radius:0!important;opacity:1!important;z-index:-1!important}#topbar-cta-button>a{border:1px solid #b8ff9d}#topbar-cta-button>a>div{gap:24px!important;position:relative;z-index:1}nav ul.space-x-6>li{margin-left:0!important;margin-right:0!important;margin-inline:0!important}nav ul.space-x-6{gap:8px}nav:has(li.navbar-link){margin-inline-end:0!important;margin-right:0!important}div:has(>#theme-preference-menu-trigger){margin-left:8px!important;margin-inline-start:8px!important}#theme-preference-menu-trigger{width:38px;height:38px;padding:0!important;border:1px solid #404040!important;border-radius:0!important;display:flex;align-items:center;justify-content:center;color:#000!important;background:0 0;transition:background-color .2s ease}#theme-preference-menu-trigger:hover{background:#f1f1f1}.dark #theme-preference-menu-trigger{border-color:rgba(255,255,255,.6)!important;color:#fff!important}"}],"page":{"pagePath":"guides/methodologies/pricing-methodologies/ir-interquartile-range-filter","slug":"/guides/methodologies/pricing-methodologies/ir-interquartile-range-filter","pageMetadata":{"title":"IR: Interquartile Range Filter","description":"This section describes how we filter for outliers in ourprice determination system.","href":"/guides/methodologies/pricing-methodologies/ir-interquartile-range-filter"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"This section describes how we filter for outliers in ourprice determination system.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,annotation:`annotation`,em:`em`,math:`math`,mi:`mi`,mn:`mn`,mo:`mo`,mrow:`mrow`,msub:`msub`,mtext:`mtext`,p:`p`,semantics:`semantics`,span:`span`,..._provideComponents(),...props.components},{Heading}=_components;if(!Heading)_missingMdxReference(`Heading`,true);return _jsxs(_Fragment,{children:[_jsx(Heading,{level:`2`,id:`outliers-and-market-manipulation`,children:`Outliers and Market Manipulation`}),`\n`,_jsx(_components.p,{children:`The price estimation process needs to be robust against trades with prices that are diverting from the current market price of an asset pair. Reasons for diverting trades can be market manipulation, errors, flash crashes on certain exchanges, or other market irregularities.`}),`\n`,_jsx(_components.p,{children:`Detecting and excluding outliers and market manipulation is an important data processing task, especially in small and (somewhat) intransparent markets. Otherwise, a single low-volume trade can offset the price estimation and serve as a base token for other assets, leading to a chain reaction of misaligned price data.`}),`\n`,_jsxs(_components.p,{children:[`We calculate our cryptocurrency spot-prices using 120-second moving average (SMA) with a weighting of trade volumes (VWAP). Small volume trades have a proportionally smaller influence on the determined price than bigger volume trades. In order to create reliable pricing, we also exclude data points and sets entirely that lie outside of an `,_jsx(_components.a,{href:`https://en.wikipedia.org/wiki/Interquartile_range#Outliers`,children:`acceptable range`}),` relative to the `,_jsx(_components.a,{href:`https://en.wikipedia.org/wiki/Interquartile_range`,children:`interquartile range`}),` of all data points.`]}),`\n`,_jsx(Heading,{level:`3`,id:`data-preprocessing`,children:`Data Preprocessing`}),`\n`,_jsx(_components.p,{children:`The Interquartile Range filter in DIA examined all trades in a trades block (i.e. all trades in the predefined time range) and sorts them by their recorded price.`}),`\n`,_jsxs(_components.p,{children:[`After that, this range of prices is divided into four price blocks, the `,_jsx(_components.em,{children:`Quartiles`}),`. The boundaries of the full price range also determine the boundaries of the first and the last quartile.`]}),`\n`,_jsx(_components.p,{children:`To clear out outliers, any trades falling into the first or the last quartile are filtered out and subsequently, only trades falling into the “middle” quartiles are returned to the caller.`}),`\n`,_jsxs(_components.p,{children:[`Given the first and third quartiles `,_jsxs(_components.span,{className:`katex`,children:[_jsx(_components.span,{className:`katex-mathml`,children:_jsx(_components.math,{xmlns:`http://www.w3.org/1998/Math/MathML`,children:_jsxs(_components.semantics,{children:[_jsx(_components.mrow,{children:_jsxs(_components.msub,{children:[_jsx(_components.mi,{children:`Q`}),_jsx(_components.mn,{children:`1`})]})}),_jsx(_components.annotation,{encoding:`application/x-tex`,children:`Q_1`})]})})}),_jsx(_components.span,{className:`katex-html`,\"aria-hidden\":`true`,children:_jsxs(_components.span,{className:`base`,children:[_jsx(_components.span,{className:`strut`,style:{height:`0.8778em`,verticalAlign:`-0.1944em`}}),_jsxs(_components.span,{className:`mord`,children:[_jsx(_components.span,{className:`mord mathnormal`,children:`Q`}),_jsx(_components.span,{className:`msupsub`,children:_jsxs(_components.span,{className:`vlist-t vlist-t2`,children:[_jsxs(_components.span,{className:`vlist-r`,children:[_jsx(_components.span,{className:`vlist`,style:{height:`0.3011em`},children:_jsxs(_components.span,{style:{top:`-2.55em`,marginLeft:`0em`,marginRight:`0.05em`},children:[_jsx(_components.span,{className:`pstrut`,style:{height:`2.7em`}}),_jsx(_components.span,{className:`sizing reset-size6 size3 mtight`,children:_jsx(_components.span,{className:`mord mtight`,children:`1`})})]})}),_jsx(_components.span,{className:`vlist-s`,children:``})]}),_jsx(_components.span,{className:`vlist-r`,children:_jsx(_components.span,{className:`vlist`,style:{height:`0.15em`},children:_jsx(_components.span,{})})})]})})]})]})})]}),` and `,_jsxs(_components.span,{className:`katex`,children:[_jsx(_components.span,{className:`katex-mathml`,children:_jsx(_components.math,{xmlns:`http://www.w3.org/1998/Math/MathML`,children:_jsxs(_components.semantics,{children:[_jsx(_components.mrow,{children:_jsxs(_components.msub,{children:[_jsx(_components.mi,{children:`Q`}),_jsx(_components.mn,{children:`3`})]})}),_jsx(_components.annotation,{encoding:`application/x-tex`,children:`Q_3`})]})})}),_jsx(_components.span,{className:`katex-html`,\"aria-hidden\":`true`,children:_jsxs(_components.span,{className:`base`,children:[_jsx(_components.span,{className:`strut`,style:{height:`0.8778em`,verticalAlign:`-0.1944em`}}),_jsxs(_components.span,{className:`mord`,children:[_jsx(_components.span,{className:`mord mathnormal`,children:`Q`}),_jsx(_components.span,{className:`msupsub`,children:_jsxs(_components.span,{className:`vlist-t vlist-t2`,children:[_jsxs(_components.span,{className:`vlist-r`,children:[_jsx(_components.span,{className:`vlist`,style:{height:`0.3011em`},children:_jsxs(_components.span,{style:{top:`-2.55em`,marginLeft:`0em`,marginRight:`0.05em`},children:[_jsx(_components.span,{className:`pstrut`,style:{height:`2.7em`}}),_jsx(_components.span,{className:`sizing reset-size6 size3 mtight`,children:_jsx(_components.span,{className:`mord mtight`,children:`3`})})]})}),_jsx(_components.span,{className:`vlist-s`,children:``})]}),_jsx(_components.span,{className:`vlist-r`,children:_jsx(_components.span,{className:`vlist`,style:{height:`0.15em`},children:_jsx(_components.span,{})})})]})})]})]})})]}),`, with the interquartile range `,_jsxs(_components.span,{className:`katex`,children:[_jsx(_components.span,{className:`katex-mathml`,children:_jsx(_components.math,{xmlns:`http://www.w3.org/1998/Math/MathML`,children:_jsxs(_components.semantics,{children:[_jsxs(_components.mrow,{children:[_jsx(_components.mi,{children:`I`}),_jsx(_components.mi,{children:`Q`}),_jsx(_components.mi,{children:`R`}),_jsx(_components.mo,{children:`=`}),_jsx(_components.mi,{children:`Q`}),_jsx(_components.mn,{children:`3`}),_jsx(_components.mo,{children:`−`}),_jsx(_components.mi,{children:`Q`}),_jsx(_components.mn,{children:`1`})]}),_jsx(_components.annotation,{encoding:`application/x-tex`,children:`IQR=Q3−Q1`})]})})}),_jsxs(_components.span,{className:`katex-html`,\"aria-hidden\":`true`,children:[_jsxs(_components.span,{className:`base`,children:[_jsx(_components.span,{className:`strut`,style:{height:`0.8778em`,verticalAlign:`-0.1944em`}}),_jsx(_components.span,{className:`mord mathnormal`,style:{marginRight:`0.0785em`},children:`I`}),_jsx(_components.span,{className:`mord mathnormal`,style:{marginRight:`0.0077em`},children:`QR`}),_jsx(_components.span,{className:`mspace`,style:{marginRight:`0.2778em`}}),_jsx(_components.span,{className:`mrel`,children:`=`}),_jsx(_components.span,{className:`mspace`,style:{marginRight:`0.2778em`}})]}),_jsxs(_components.span,{className:`base`,children:[_jsx(_components.span,{className:`strut`,style:{height:`0.8778em`,verticalAlign:`-0.1944em`}}),_jsx(_components.span,{className:`mord mathnormal`,children:`Q`}),_jsx(_components.span,{className:`mord`,children:`3`}),_jsx(_components.span,{className:`mspace`,style:{marginRight:`0.2222em`}}),_jsx(_components.span,{className:`mbin`,children:`−`}),_jsx(_components.span,{className:`mspace`,style:{marginRight:`0.2222em`}})]}),_jsxs(_components.span,{className:`base`,children:[_jsx(_components.span,{className:`strut`,style:{height:`0.8778em`,verticalAlign:`-0.1944em`}}),_jsx(_components.span,{className:`mord mathnormal`,children:`Q`}),_jsx(_components.span,{className:`mord`,children:`1`})]})]})]}),`, the filter keeps only trades whose price `,_jsxs(_components.span,{className:`katex`,children:[_jsx(_components.span,{className:`katex-mathml`,children:_jsx(_components.math,{xmlns:`http://www.w3.org/1998/Math/MathML`,children:_jsxs(_components.semantics,{children:[_jsx(_components.mrow,{children:_jsx(_components.mi,{children:`p`})}),_jsx(_components.annotation,{encoding:`application/x-tex`,children:`p`})]})})}),_jsx(_components.span,{className:`katex-html`,\"aria-hidden\":`true`,children:_jsxs(_components.span,{className:`base`,children:[_jsx(_components.span,{className:`strut`,style:{height:`0.625em`,verticalAlign:`-0.1944em`}}),_jsx(_components.span,{className:`mord mathnormal`,children:`p`})]})})]}),` falls within the middle two quartiles:`]}),`\n`,_jsx(_components.p,{children:_jsxs(_components.span,{className:`katex`,children:[_jsx(_components.span,{className:`katex-mathml`,children:_jsx(_components.math,{xmlns:`http://www.w3.org/1998/Math/MathML`,children:_jsxs(_components.semantics,{children:[_jsxs(_components.mrow,{children:[_jsx(_components.mi,{children:`Q`}),_jsx(_components.mn,{children:`1`}),_jsx(_components.mtext,{children:``}),_jsx(_components.mo,{children:`≤`}),_jsx(_components.mi,{children:`p`}),_jsx(_components.mo,{children:`≤`}),_jsx(_components.mi,{children:`Q`}),_jsx(_components.mn,{children:`3`}),_jsx(_components.mtext,{children:``})]}),_jsx(_components.annotation,{encoding:`application/x-tex`,children:`Q1≤p≤Q3`})]})})}),_jsxs(_components.span,{className:`katex-html`,\"aria-hidden\":`true`,children:[_jsxs(_components.span,{className:`base`,children:[_jsx(_components.span,{className:`strut`,style:{height:`0.8778em`,verticalAlign:`-0.1944em`}}),_jsx(_components.span,{className:`mord mathnormal`,children:`Q`}),_jsx(_components.span,{className:`mord`,children:`1`}),_jsx(_components.span,{className:`mspace`,style:{marginRight:`0.2778em`}}),_jsx(_components.span,{className:`mrel`,children:`≤`}),_jsx(_components.span,{className:`mspace`,style:{marginRight:`0.2778em`}})]}),_jsxs(_components.span,{className:`base`,children:[_jsx(_components.span,{className:`strut`,style:{height:`0.8304em`,verticalAlign:`-0.1944em`}}),_jsx(_components.span,{className:`mord mathnormal`,children:`p`}),_jsx(_components.span,{className:`mspace`,style:{marginRight:`0.2778em`}}),_jsx(_components.span,{className:`mrel`,children:`≤`}),_jsx(_components.span,{className:`mspace`,style:{marginRight:`0.2778em`}})]}),_jsxs(_components.span,{className:`base`,children:[_jsx(_components.span,{className:`strut`,style:{height:`0.8778em`,verticalAlign:`-0.1944em`}}),_jsx(_components.span,{className:`mord mathnormal`,children:`Q`}),_jsx(_components.span,{className:`mord`,children:`3`})]})]})]})}),`\n`,_jsx(Heading,{level:`3`,id:`advanced-filtering`,children:`Advanced Filtering`}),`\n`,_jsxs(_components.p,{children:[`After this clearing process is finished, the data is ready to be processed further in other filters like the `,_jsx(_components.a,{href:`/guides/methodologies/pricing-methodologies/mair-moving-average-with-interquartile-range-filter`,children:`Moving Average`}),` or `,_jsx(_components.a,{href:`/guides/methodologies/pricing-methodologies/vwapir-volume-weighted-average-price-with-interquartile-range-filter`,children:`Volume Weighted Average Price`}),` filter.`]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"codeStyling":"system","config":{},"pageMetadata":{"title":"IR: Interquartile Range Filter","description":"This section describes how we filter for outliers in ourprice determination system.","href":"/guides/methodologies/pricing-methodologies/ir-interquartile-range-filter"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Outliers and Market Manipulation","slug":"outliers-and-market-manipulation","depth":2,"children":[{"title":"Data Preprocessing","slug":"data-preprocessing","depth":3,"children":[]},{"title":"Advanced Filtering","slug":"advanced-filtering","depth":3,"children":[]}]}],"codeExamples":{}},"jsLinks":["/docs/_mintlify/custom/diadata/1f755b4caf5bd851/umami.js"],"subdomain":"diadata","siteName":"DIA · Blockchain Oracles","title":"IR: Interquartile Range Filter - DIA · Blockchain Oracles","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-07-23T10:08:17.992Z","originalFileLocation":"guides/methodologies/pricing-methodologies/ir-interquartile-range-filter.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"This section describes how we filter for outliers in ourprice determination system.\">\u003cmeta data-mint-head name=\"application-name\" content=\"DIA · Blockchain Oracles\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/docs/mintlify-assets/_mintlify/favicons/diadata/c6N7sEkULIfDt5Bn/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/docs/mintlify-assets/_mintlify/favicons/diadata/c6N7sEkULIfDt5Bn/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/docs/mintlify-assets/_mintlify/favicons/diadata/c6N7sEkULIfDt5Bn/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/docs/mintlify-assets/_mintlify/favicons/diadata/c6N7sEkULIfDt5Bn/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/docs/mintlify-assets/_mintlify/favicons/diadata/c6N7sEkULIfDt5Bn/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/docs/mintlify-assets/_mintlify/favicons/diadata/c6N7sEkULIfDt5Bn/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/docs/mintlify-assets/_mintlify/favicons/diadata/c6N7sEkULIfDt5Bn/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/docs/mintlify-assets/_mintlify/favicons/diadata/c6N7sEkULIfDt5Bn/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/docs/mintlify-assets/_mintlify/favicons/diadata/c6N7sEkULIfDt5Bn/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"IR: Interquartile Range Filter - DIA · Blockchain Oracles\">\u003cmeta data-mint-head property=\"og:description\" content=\"This section describes how we filter for outliers in ourprice determination system.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"DIA · Blockchain Oracles\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://www.diadata.org/docs/guides/methodologies/pricing-methodologies/ir-interquartile-range-filter\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://diadata.mintlify.app/_mintlify/api/og/v2?division=Pricing+Methodologies\u0026amp;title=IR%3A+Interquartile+Range+Filter\u0026amp;description=This+section+describes+how+we+filter+for+outliers+in+ourprice+determination+system.\u0026amp;theme=41215beda9b29b2d91ae29b7\u0026amp;signature=ca9df59b80e96e0c610e9693b08f7c3265f97a4c5e889922bb79cd6cdb9e0399\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"IR: Interquartile Range Filter - DIA · Blockchain Oracles\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"This section describes how we filter for outliers in ourprice determination system.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://diadata.mintlify.app/_mintlify/api/og/v2?division=Pricing+Methodologies\u0026amp;title=IR%3A+Interquartile+Range+Filter\u0026amp;description=This+section+describes+how+we+filter+for+outliers+in+ourprice+determination+system.\u0026amp;theme=41215beda9b29b2d91ae29b7\u0026amp;signature=ca9df59b80e96e0c610e9693b08f7c3265f97a4c5e889922bb79cd6cdb9e0399\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/docs/mintlify-assets/_mintlify/favicons/diadata/c6N7sEkULIfDt5Bn/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"DIA · Blockchain Oracles\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#000000\">\u003cmeta data-mint-head name=\"google-site-verification\" content=\"9Cd9xvn3OiQzLUJ7cOS7cZ1Qejq8Cqa9j_lxzfXurDM\">\u003clink data-mint-head rel=\"canonical\" href=\"https://www.diadata.org/docs/guides/methodologies/pricing-methodologies/ir-interquartile-range-filter\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/docs/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/docs/guides/methodologies/pricing-methodologies/ir-interquartile-range-filter.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://www.diadata.org/#organization\",\"name\":\"DIA · Blockchain Oracles\",\"url\":\"https://www.diadata.org\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/diadata/9lX_sa90a9XlPedd/logo/light.svg?fit=max\u0026auto=format\u0026n=9lX_sa90a9XlPedd\u0026q=85\u0026s=0647d9519c7b40aca228dfe6bcd68e40\"}},{\"@type\":\"WebSite\",\"@id\":\"https://www.diadata.org/docs#website\",\"name\":\"DIA · Blockchain Oracles\",\"url\":\"https://www.diadata.org/docs\",\"publisher\":{\"@id\":\"https://www.diadata.org/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://www.diadata.org/docs/guides/methodologies/pricing-methodologies/ir-interquartile-range-filter#webpage\",\"url\":\"https://www.diadata.org/docs/guides/methodologies/pricing-methodologies/ir-interquartile-range-filter\",\"name\":\"IR: Interquartile Range Filter\",\"description\":\"This section describes how we filter for outliers in ourprice determination system.\",\"dateModified\":\"2026-07-23T10:08:17.992Z\",\"isPartOf\":{\"@id\":\"https://www.diadata.org/docs#website\"},\"breadcrumb\":{\"@id\":\"https://www.diadata.org/docs/guides/methodologies/pricing-methodologies/ir-interquartile-range-filter#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://www.diadata.org/docs/guides/methodologies/pricing-methodologies/ir-interquartile-range-filter#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Methodologies\",\"item\":\"https://www.diadata.org/docs/guides/methodologies-overview\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"IR: Interquartile Range Filter\",\"item\":\"https://www.diadata.org/docs/guides/methodologies/pricing-methodologies/ir-interquartile-range-filter\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://www.diadata.org/docs/guides/methodologies/pricing-methodologies/ir-interquartile-range-filter#article\",\"headline\":\"IR: Interquartile Range Filter\",\"name\":\"IR: Interquartile Range Filter\",\"description\":\"This section describes how we filter for outliers in ourprice determination system.\",\"url\":\"https://www.diadata.org/docs/guides/methodologies/pricing-methodologies/ir-interquartile-range-filter\",\"mainEntityOfPage\":{\"@id\":\"https://www.diadata.org/docs/guides/methodologies/pricing-methodologies/ir-interquartile-range-filter#webpage\"},\"dateModified\":\"2026-07-23T10:08:17.992Z\",\"publisher\":{\"@id\":\"https://www.diadata.org/#organization\"},\"isPartOf\":{\"@id\":\"https://www.diadata.org/docs#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"DIA · Blockchain Oracles\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"DIA · Blockchain Oracles","nav":{"global":{"anchors":[{"anchor":"Talk to a dev","icon":"discord","href":"https://discord.gg/RjHBcZ9mEH"},{"anchor":"Blog Updates","icon":"newspaper","href":"https://www.diadata.org/blog/"}]},"tabs":[{"tab":"Get Started","pages":[{"title":"Get Started","href":"/home"}]},{"tab":"DIA Stack","pages":[{"title":"DIA Stack","href":"/dia-stack/overview"}]},{"tab":"Guides","groups":[{"group":" ","pages":[{"title":"Quickstart","icon":"rocket","iconType":"solid","href":"/guides/quickstart"}]},{"group":"How-to Guides","pages":[{"group":"Fetch Price Data","pages":[{"title":"Fetch Price Data","sidebarTitle":"Overview","href":"/guides/how-to-guides/fetch-price-data"},{"title":"getValue Method","href":"/guides/how-to-guides/fetch-price-data/solidity"},{"title":"Check Price Freshness","href":"/title-check-price-freshness-description-always-verify-the-timestamp-of-an-oracle-response-before-using-the-price-every-dia-price-oracle-returns-the-price-together-with-the-unix-timestamp-of-its-la"},{"title":"updates Method","href":"/guides/how-to-guides/fetch-price-data/push-based-oracles"},{"title":"request Method","href":"/guides/how-to-guides/fetch-price-data/pull-based-oracles"}]},{"group":"Generate Randomness","pages":[{"title":"Generate Randomness","sidebarTitle":"Overview","href":"/guides/how-to-guides/generate-randomness"},{"title":"Solidity","href":"/guides/how-to-guides/generate-randomness/solidity"}]},{"title":"Fund your Oracle","href":"/guides/how-to-guides/fund-the-oracle"},{"title":"Migrate from Chainlink","href":"/guides/how-to-guides/migrate-to-dia"},{"title":"Request a Custom Oracle","href":"/guides/how-to-guides/request-a-custom-oracle"},{"title":"Oracle Monitoring","href":"/oracle-monitoring"}]},{"group":"Chain-specific Guides","pages":[{"group":"Supported Chains","pages":[{"title":"Overview","sidebarTitle":"Overview","href":"/guides/chain-guides-overview"},{"title":"Alephium","href":"/guides/chain-specific-guide/alephium"},{"title":"Arbitrum","href":"/guides/chain-specific-guide/arbitrum"},{"title":"Astar","href":"/guides/chain-specific-guide/astar"},{"title":"Aurora","href":"/guides/chain-specific-guide/aurora"},{"title":"Avalanche","href":"/guides/chain-specific-guide/avalanche"},{"title":"Base","href":"/guides/chain-specific-guide/base"},{"title":"GEB Network","href":"/guides/chain-specific-guide/bevm"},{"title":"BNB Chain","href":"/guides/chain-specific-guide/bnb-chain"},{"title":"Boba Network","href":"/guides/chain-specific-guide/boba-network"},{"title":"Celo","href":"/guides/chain-specific-guide/celo"},{"title":"Clover","href":"/guides/chain-specific-guide/clover"},{"title":"CrossFi","href":"/guides/chain-specific-guide/crossfi"},{"title":"Edu Chain","href":"/guides/chain-specific-guide/edu-chain"},{"title":"Ethereum","href":"/guides/chain-specific-guide/ethereum"},{"title":"ETHPar","href":"/guides/chain-specific-guide/ethpar"},{"title":"Evmos","href":"/guides/chain-specific-guide/evmos"},{"title":"Fantom","href":"/guides/chain-specific-guide/fantom"},{"title":"Fuse","href":"/guides/chain-specific-guide/fuse"},{"title":"Gnosis Chain","href":"/guides/chain-specific-guide/gnosis-chain"},{"title":"Hemi","href":"/guides/chain-specific-guide/hemi"},{"title":"Hydration","href":"/guides/chain-specific-guide/hydration"},{"title":"HyperEVM","href":"/guides/chain-specific-guide/hyperevm"},{"title":"Linea","href":"/guides/chain-specific-guide/linea"},{"title":"LitVM","href":"/guides/chain-specific-guide/litvm"},{"title":"LUKSO","href":"/guides/chain-specific-guide/lukso"},{"title":"Metis","href":"/guides/chain-specific-guide/metis"},{"title":"Moonbase","href":"/guides/chain-specific-guide/moonbase"},{"title":"Moonbeam","href":"/guides/chain-specific-guide/moonbeam"},{"title":"Moonriver","href":"/guides/chain-specific-guide/moonriver"},{"title":"Nervos","href":"/guides/chain-specific-guide/nervos"},{"title":"OKT Chain (OKX)","href":"/guides/chain-specific-guide/okt-chain"},{"title":"Optimism","href":"/guides/chain-specific-guide/optimism"},{"title":"Plume","href":"/guides/chain-specific-guide/plume"},{"title":"Polygon","href":"/guides/chain-specific-guide/polygon"},{"title":"Polygon zkEVM","href":"/guides/chain-specific-guide/polygon-zkevm"},{"title":"Shiden","href":"/guides/chain-specific-guide/shiden"},{"title":"Shibuya","href":"/guides/chain-specific-guide/shibuya"},{"title":"Shido","href":"/guides/chain-specific-guide/shido"},{"title":"Somnia","href":"/guides/chain-specific-guide/somnia"},{"title":"Sonic","href":"/guides/chain-specific-guide/sonic"},{"title":"Stellar","href":"/guides/chain-specific-guide/stellar"},{"title":"Sei","href":"/guides/chain-specific-guide/sei"},{"title":"Stacks","href":"/guides/chain-specific-guide/stacks"},{"title":"Superseed","href":"/guides/chain-specific-guide/superseed"},{"title":"Swell","href":"/guides/chain-specific-guide/swell"},{"title":"Telos","href":"/guides/chain-specific-guide/telos"},{"title":"Unichain","href":"/guides/chain-specific-guide/unichain"},{"title":"Velas","href":"/guides/chain-specific-guide/velas"},{"title":"W Chain","href":"/guides/chain-specific-guide/w-chain"},{"title":"Wanchain","href":"/guides/chain-specific-guide/wanchain"},{"title":"XRP Ledger (XRPL)","href":"/guides/chain-specific-guide/xrp-ledger-xrpl"},{"title":"zkSync","href":"/guides/chain-specific-guide/zksync"}]},{"title":"Oracle Grants","href":"/guides/oracle-grants"},{"title":"DIA Deployments","href":"/guides/dia-deployments"}]},{"group":"Methodologies","pages":[{"title":"Methodologies","sidebarTitle":"Overview","href":"/guides/methodologies-overview"},{"group":"Data Processing","pages":[{"title":"Trades Collection","href":"/guides/methodologies/data-processing/trades-collection"},{"title":"Price Aggregation","href":"/guides/methodologies/data-processing/price-aggregation"},{"title":"Update Triggers","description":"The price feed is created and published via an API endpoint, utilizing the previously [selected data sources](trades-collection) and [computational methodologies](price-aggregation).","href":"/guides/methodologies/data-processing/update-triggers"}]},{"group":"Pricing Methodologies","pages":[{"title":"IR: Interquartile Range Filter","href":"/guides/methodologies/pricing-methodologies/ir-interquartile-range-filter"},{"title":"MAIR: Moving Average with Interquartile Range Filter","description":null,"href":"/guides/methodologies/pricing-methodologies/mair-moving-average-with-interquartile-range-filter"},{"title":"VWAP: Volume Weighted Average Price","href":"/guides/methodologies/pricing-methodologies/vwap-volume-weighted-average-price"},{"title":"VWAPIR: Volume Weighted Average Price with Interquartile Range Filter","href":"/guides/methodologies/pricing-methodologies/vwapir-volume-weighted-average-price-with-interquartile-range-filter"},{"title":"LST Fair Price","href":"/guides/methodologies/pricing-methodologies/lst-fair-price"}]}]},{"group":"General Guides","pages":[{"group":"Smart Contracts","pages":[{"title":"DIAOracleV2.sol","href":"/guides/general-guides/smart-contracts/diaoraclev2.sol"},{"title":"DIARandomOracle.sol","href":"/guides/general-guides/smart-contracts/diarandomoracle.sol"},{"title":"OracleRequestRecipient.sol","href":"/guides/general-guides/smart-contracts/OracleRequestRecipient.sol"},{"title":"PushOracleReceiver.sol","href":"/guides/general-guides/smart-contracts/PushOracleReceiver.sol"}]},{"group":"Run a Feeder","pages":[{"title":"Run a Feeder","sidebarTitle":"Overview","href":"/guides/general-guides/run-a-feeder"},{"title":"Hardware Specs","href":"/guides/general-guides/run-a-feeder/hardware-specs"},{"group":"Setting Up the Node","pages":[{"title":"Setting Up the Node","sidebarTitle":"Overview","href":"/guides/general-guides/run-a-feeder/setting-up-the-node"},{"title":"Docker Compose","href":"/guides/general-guides/run-a-feeder/setting-up-the-node/docker-compose"},{"title":"Docker Run","href":"/guides/general-guides/run-a-feeder/setting-up-the-node/docker-run"},{"title":"Kubernetes","href":"/guides/general-guides/run-a-feeder/setting-up-the-node/kubernetes"}]}]},{"title":"DIA Staking","href":"/guides/general-guides/dia-staking"},{"group":"Build a Scraper","pages":[{"title":"Build a Scraper","sidebarTitle":"Overview","href":"/guides/general-guides/overview"},{"title":"Development Cluster Stack","href":"/guides/general-guides/tutorials/development-cluster-stack"},{"title":"DIA Test‐Space with Docker Compose","href":"/guides/general-guides/tutorials/dia-test-space-with-docker-compose"},{"title":"DIA Test‐Space with Minikube","href":"/guides/general-guides/tutorials/dia-test-space-with-minikube"},{"title":"Add a New Exchange Scraper","href":"/guides/general-guides/tutorials/add-a-new-exchange-scraper"},{"title":"Add a New Foreign Scraper","href":"/guides/general-guides/tutorials/add-a-new-foreign-scraper"},{"title":"Add a New Liquidity Scraper","href":"/guides/general-guides/tutorials/add-a-new-liquidity-scraper"},{"title":"Additional Notes","href":"/guides/general-guides/tutorials/additional-notes"}]}]},{"group":"Resources","pages":[{"title":"Audits","href":"/guides/resources/audits"},{"title":"Community \u0026 Support","href":"/guides/resources/community-and-support"},{"title":"Security Bounty Program","href":"/guides/resources/security-bounty-program"},{"group":"Research","pages":[{"title":"Research","sidebarTitle":"Overview","href":"/guides/resources/research"},{"title":"Return Rates in Crypto Farming","href":"/guides/resources/research/return-rates-in-crypto-farming"},{"title":"Crypto Volatility Index","href":"/guides/resources/research/cvi"},{"title":"Compounded Rates","href":"/guides/resources/research/compounded-rates"},{"title":"Polkadot Medianizer","href":"/guides/resources/research/polkadot-medianizer"}]},{"group":"T\u0026C","pages":[{"title":"Terms \u0026 Conditions","sidebarTitle":"Overview","href":"/guides/resources/t-and-c"},{"title":"Licence Agreement","href":"/guides/resources/t-and-c/licence-agreement"},{"title":"Contributor Covenant Code of Conduct","href":"/guides/resources/t-and-c/code_of_conduct"},{"title":"Disclaimer","href":"/guides/resources/t-and-c/disclaimer"}]}]}]},{"tab":"API Reference","pages":[{"title":"API Reference","href":"/reference/apis"}]}]},"title":"IR: Interquartile Range Filter - DIA · Blockchain Oracles","buildId":"dpl_GvhK4qVXq51DpfYJLCtPpYNN4YHN","deploymentId":"dpl_GvhK4qVXq51DpfYJLCtPpYNN4YHN","dynamics":[],"chunks":[]}