# ORATS Full Site Content > ORATS (Options Research & Technology Services) provides institutional-grade options data and analytics: live, delayed, and historical options data APIs and bulk files back to 2007, 500+ proprietary indicators (SMV greeks, IV rank, volatility forecasts), a backtester over 300M+ pre-computed backtests with a strategy optimizer, stock and option scanners, and a broker-neutral trading dashboard. Founded in 2001, ORATS serves retail traders, hedge funds, and institutions. > This file contains the full text of the core orats.com pages (platform and tools, data products and APIs, API documentation, ORATS University, and company and legal pages) for language-model ingestion. Content is reproduced from the site. The blog archive (about 371 posts) is not included in full here; it is indexed at https://orats.com/llms.txt and the posts live at https://orats.com/blog. # Platform and trading tools ## Home Source: https://orats.com/ ### Everything you need for advanced options trading Trading Tools, APIs, and Historical Data Connect to your favorite brokers - Interactive Brokers - Tradier - TradeStation Read in your favorite media - Nasdaq - Wall Street Journal - Interactive Brokers Campus - Risk Magazine - Reuters - MSN - Yahoo! Finance - Options Insider Trusted by thousands of advanced options traders ### What's in ORATS Trading Tools? - **Intraday Backtester**, Backtest 0DTE and short-dated strategies on 1-minute data back to October 2020. Minute-level entries, exits, stops, and profit targets. (NEW) - **Otto AI Agent**, The AI agent inside the dashboard. Otto runs backtests, scans the market, builds trades, and explains what you're seeing, all in plain English. (NEW) - **Strategy Optimizer**, Enhance your trading strategies with 98 proprietary indicators. Statistical validation ensures your improvements are real, not random chance. - **Trade Ideas**, Find high-probability trades using 300+ million backtests, curated strategies, and real-time market analysis. - **Option Scanner**, Scan and rank thousands of option trades based on volatility metrics, delta cost, and other theoretical values. Customize DTE, strikes, and more. (POPULAR) - **Options Backtester**, Browse over 300 million options backtests! Our best-in-class backtesting engine goes back to 2007. You can also run your own custom backtests for over 5,000 symbols and 45 strategies. (POPULAR) - **Stock Scanner**, Scan over 5,000 stocks and ETFs using 700+ proprietary option indicators plus 22 new fundamental indicators. - **Trading**, Send orders through your favorite broker and monitor your positions with text and email alerts. Or, paper trade your strategies in a safe and risk-free environment. - **Ticker Analysis**, Get a comprehensive view of a company's options chain, earnings history, time and sales, and technical outlook. - **Trade Builder**, Chart future expirations and strikes with overlays for earnings, trendlines, volatility, open interest, and more. ### Options Data API Get live, delayed, and historical end-of-day options data back to 2007 augmented with hundreds of proprietary indicators. ### Historical Data Level up your options research with our high quality historical options data. - **Near End-of-day - Since 2007**, A complete snapshot of the US equity options market 14 minutes before the close of trading each day. Over 5,000 symbols included. - **1 Minute Intraday - Since Aug. 2020**, Full SMV greeks, theoretical values, and IVs for every minute during the trading day of all US equity options. Over 5,000 symbols included. ### Learn from an ex-market maker Weekly options education hosted by ORATS founder Matt Amberson. ### Institutional Quality Tools for All Options Traders #### Testimonials ORATS is trusted by thousands of advanced options traders, hedge funds, and institutions. "I'm very pleased so far since I can go straight from research in ORATS to placing trades without needing to go into IBKR." - Ryan K. "I'm loving the new functionality you've given ORATS, especially the screening functionality for spreads" - Patrick "ORATS is fantastic platform! I have used several including ivolatility/Options omega, but nothing comes close to ORATS." - Ramesh "I'm grateful to have access to this quality set of tools to do the work I LOVE... I do think where you're going has the potential to disrupt the traditional brokerage business and fuel the next retail trading boom." - Lauren R. "The dashboard is so intuitive, along with the ability of drilling into various segments, command simple requests, etc. It's so easy to decipher feedback and is especially user-friendly for a newbie user." - Tony M. "The stock scanner is the greatest scanner ever made" - Aiman "ORATS looks great so far, lovely UX and design!" - Matt "ORATS offers enough to make me a customer for life... The videos and blog entries have been very helpful... The stock scanner templates (particularly the earnings scanner is very useful)." - Eric "There is a lot to the platform and it helps to watch someone who understands the nuances use it. The way the various sections of the platform integrate with one another is an elegant feature and the overall presentation of the data returned is very clean." - Mark --- ## Trading Tools Source: https://orats.com/trading-tools ### An all-in-one options trading platform ### Trading Tools Make smarter trades with our integrated platform of advanced options tools, now featuring the Intraday Backtester and Otto, your built-in AI agent. Plus, connect to your favorite broker to send trades seamlessly through ORATS. ### Pricing **Trading Tools** An all-in-one package for options research, backtesting, trading, and risk management. Individual: $99 / month Professional: $199 / user / month Includes: - Real-time Data - Intraday Backtester (NEW) - Otto AI Agent (NEW) - Strategy Optimizer - Trade Ideas - Option Scanner (POPULAR) - Options Backtester (POPULAR) - Stock Scanner - Trading - Ticker Analysis - Trade Builder - Connect to Interactive Brokers, TradeStation, and Tradier - 2,000 Backtests / month Note: Does not include API access. Trading Tools does not include access to the ORATS Data API. For programmatic access to options data, see the Data API page. Get Trading Tools + every trading tool for only $99/mo (ALL ACCESS) ### Top Features Loved by Users #### 1. Options backtester Browse over 300 million options backtests or create your own custom backtests with our flagship product. With historical data going back to 2007 for over 5,000 stocks, you can test your strategies with confidence. New: flip into Intraday mode to backtest 0DTE strategies on 1-minute data back to October 2020. Each backtest comes equipped with a graph of returns, 37 different performance metrics, a table of monthly returns, and a detailed trade log. #### 2. Scan for stocks and options Our scanners work with each other to give you a complete picture of the market. For example, you can scan for stocks that are reporting earnings this week and then scan for straddles on those stocks. Utilize the power of hundreds of proprietary indicators plus multiple theoretical values to find the perfect trade. #### 3. Send orders through your broker We currently support Interactive Brokers, TradeStation, and Tradier with more brokerages in the works. You can send orders directly from the ORATS platform and manage them in your Positions tab. We also support paper trading accounts for testing your strategies. ### Learn from an ex-market maker Weekly options education hosted by ORATS founder Matt Amberson. --- ## Trading Source: https://orats.com/trading ### Send orders and manage positions ### Trading Send orders through your favorite broker and monitor your positions with text and email alerts. Or, paper trade your strategies in a safe and risk-free environment. Get Trading + every trading tool for only $99/mo (ALL ACCESS) ### Top Features Loved by Users #### 1. Trade ideas Trade ideas aren't just ideas anymore - we backtest every trade idea so that you can make better decisions rooted in historical data. To find the top trades for today, we first rank all of our pre-compiled backtests across all symbols and strategies by best return on risk, filtering those with entry triggers that match the current environment (VIX, SMA, RSI, IV Percentile, and slope percentile). Then for each of the top performing backtested strategies, we scan to find the best options trade ranked by POP%, risk/reward, and theoretical edge. #### 2. Profit attribution Developed in-house by the traders at ORATS, the profit attribution calculation breaks down how greeks, skew and theoretical values impact your trades. We calculate this on a per-trade basis, then add it up to get a total portfolio value. For example, if yesterday the debit cost of your trade was $0.74, and today it's $0.86, where is the $0.12 price increase coming from? We break it down into eight factors. #### 3. Trade analysis Analyze your options trades with a state-of-the-art payoff diagram (Greeks included). Additionally, quickly adjust 'What if?' scenarios in the trade analyzer to see how the theoretical value today will change according to your parameters. We offer two variables: 1. Implied Volatility Change %: Choose how much to increase or decrease the implied volatility of the position. 2. Days to Expiration: Choose how much to increase or decrease the time to expiration of the position. ### Learn from an ex-market maker Weekly options education hosted by ORATS founder Matt Amberson. --- ## Options Backtester Source: https://orats.com/backtester ### Test your strategies ### Options Backtester Browse over 300 million options backtests! Our best-in-class backtesting engine goes back to 2007. You can also run your own custom backtests for over 5,000 symbols and 45 strategies. Get Options Backtester + every trading tool for only $99/mo (ALL ACCESS) ### Top Features Loved by Users #### 1. Search over 300 million backtests We ran a mind-boggling amount of backtests, and we are giving them all to you. Search, filter, and rank over 300 million backtests for several popular symbols and strategies. Filter performance based on annual return, Sharpe ratio, max drawdown, and more. Quickly see the days to expiration and strike deltas for each leg, along with other entry criteria like spread / stock. Explore different stop losses and profit targets, along with various entry triggers like VIX, SMV, 14-day RSI, IV Percentile, and Slope Percentile. #### 2. Create custom backtests The same backtesting engine used to test millions of strategies is also available for you to use on your own custom strategies. With end-of-day data going back to 2007 for over 5,000 symbols, we have everything you need to start rigorously testing your ideas. You can backtest any type of bullish, bearish, or neutral strategy, include calendars, butterflies, and condors. Included in the backtest parameters are the standard entry and exit criteria, as well as hundreds of proprietary indicators. #### 3. Enhance with Strategy Optimizer Take any backtest to the next level with our Strategy Optimizer. Add technical indicators, optimize entry and exit rules, and validate improvements with statistical significance testing. Whether starting from our 300+ million pre-calculated backtests or your custom strategies, the optimizer helps you find robust enhancements that aren't just lucky patterns. ### Learn from an ex-market maker Weekly options education hosted by ORATS founder Matt Amberson. --- ## Intraday Backtester Source: https://orats.com/intraday-backtester ### Backtest any symbol. By the minute. New, intraday mode in the Custom Backtester. Test 0DTE and multiday options strategies across the U.S. equity options market. Choose from ready-to-use strategy templates, select strikes using more dependable deltas powered by ORATS smoothed implied volatilities (SMV), upload your own CSV entry and exit signals, visualize each trade from open to close, and download every result. By the numbers: - 1-min data granularity - Oct 2020 history starts - ~140 intraday symbols - 16 intraday strategies - 0DTE native support ### 01 Configure: the whole trade on one screen This is the actual tool. Follow the numbered markers: every field you need for a 0DTE strategy is a few keystrokes away, or one plain-English sentence. What the markers on the form call out: 1. Start in plain English. Type "SPY 0DTE iron condor, 16 delta shorts and 5 delta wings, exit at 50% profit or 200% loss" and the AI fills every field below. 2. 16 strategies, ~140 symbols. Condors, flies, spreads, straddles, strangles, and calendars on the most-traded names, SPX to single stocks. 3. Enter at 9:45, to the minute. Entry and exit are exact clock times. Hold to expiration or step out at 15:55. AM and PM SPX expirations both supported. 4. 0DTE is DTE 1. Days to expiration counts from 1, so same-day options are first-class citizens, out to 30 days. 5. Per-leg strike control. Target every leg by delta with min and max bands, or set strike widths in points from a reference leg. 6. Stops that fire intraday. Percent stop losses and profit targets are checked on every minute bar, with slippage and commissions modeled in. 7. Bring your own signals. Upload a CSV of entry and exit timestamps and the engine trades your signal on real minute-level options prices. ### 02 Read the results: five-plus years of QQQ iron condors, tested minute by minute A real backtest: 0DTE iron condors, 20-delta shorts with 5-delta wings, entered at 9:45 every morning since October 2020. 1,156 trades, 81% winners, a 0.64 Sharpe, and every stop-out in the trade log. What the markers on the results call out: 1. The verdict, up top. Annual return, Sharpe ratio, max drawdown, and total P&L for one lot, before you read a single chart. 2. Honest accounting. Strategy vs buy-and-hold with commissions and dividends included. What you see is exactly what the trades made. 3. Five-plus years of minute bars. Every point on this curve was marked from real 1-minute options prices, stop-outs and all. 4. From backtest to trade. Like what you see? Scan live options for this exact setup, or download the full trade log as CSV. Every run also comes with a monthly returns heat grid covering every month since October 2020 and a trade log with every fill, downloadable as CSV. ### 03 Why intraday precision matters Catch the 2:49 PM stop-out when it happens. Intraday mode tracks your position minute by minute, so stops and profit targets trigger when their levels are reached, not just at the end of the day. Strike selection is powered by ORATS smoothed implied volatilities and Greeks, providing more stable, dependable deltas than calculations based on noisy individual option quotes. See the full story of every trade from entry to exit, whether it lasts a few minutes or multiple days. Both engines live in the same Custom Backtester, so you can choose the right one for each strategy. The page shows a real fill from the featured QQQ run, opened in the dashboard's Trade History view: the condor's price minute by minute through the July 24, 2024 session, entered at 9:45 and stopped out at 2:49 PM the minute the loss crossed 200% of the credit received (marked in red). By the close the same position had lost nearly twice as much, the mark daily bars would have recorded. Every fill from 2022 onward opens like this straight from the trade log. | | Intraday (new) | End of Day | | --- | --- | --- | | History | Back to October 2020 | Back to 2007 | | Granularity | Every minute, 9:34am ET to the close | One mark per day | | Stops & profit targets | Fire on the minute they hit | Evaluated at end of day | | 0DTE strategies | Native | Built for multi-day holds | | Strategies | 16 | 45 | | Symbols | ~140 most-traded, SPX to single names | Any US-listed optionable name | | Indicator triggers | Time-based entries by design | 794 indicators, earnings, dates | Want daily bars back to 2007 and 300M+ pre-computed runs? See the Options Backtester. ### Under the hood: built like an execution engine #### Honest execution modeling Slippage as a percentage of the bid-ask width per side, commissions defaulting to $0.65 a contract, and an adjustable wide-price filter that keeps untradeably wide quotes out of your fills. #### 16 strategies Iron condors, iron butterflies, credit and debit spreads, straddles, short strangles, naked long and short options, and three flavors of calendars. #### ~140 symbols, 9:34 to the close Every name with weekly options in the backtest-finder universe, snapshotted every minute of every session since October 2020. #### A 300-million-run pedigree Built on the same reporting stack as our EOD engine: performance metrics, monthly returns, and a trade log for every simulated fill. Rather just say it? Ask Otto, the AI agent built into the dashboard, to run the whole backtest for you. "SPX 0DTE put credit spread, 30 delta, 30 wide, exit at 50% profit, last 6 months" is a complete instruction. ### Pricing Included in the subscription. One price, every tool. The Intraday Backtester ships inside ORATS Trading Tools alongside every other tool on the platform. One subscription unlocks all of it. Individual: $99 / month Professional: $199 / user / month Everything included: Intraday Backtester (NEW), Otto AI Agent (NEW), Options Backtester, Strategy Optimizer, Trade Ideas, Option Scanner, Stock Scanner, Trading, Ticker Analysis, Trade Builder, Real-time data, 2,000 backtests / month, Connect to Interactive Brokers, TradeStation, and Tradier. Does not include ORATS Data API access. Cancel within 24 hours of signup for an automatic full refund. ### FAQ **What data does the Intraday Backtester use?** One-minute options chain snapshots collected every minute from 9:34am ET to the close, every session since October 2020, across roughly 140 of the most-traded symbols with weekly options, from SPX and the major index ETFs to single names. Fills are marked from real quotes, and a wide-price filter keeps quotes too wide to trade out of your results. **Can it backtest 0DTE options strategies?** Yes, 0DTE is the core use case. Days to expiration counts from 1, so DTE 1 selects same-day expirations, out to 30 days. Entries and exits happen at exact clock times, AM and PM SPX expirations are both supported, and stops and profit targets are checked on every minute bar through the session. **How is this different from the end-of-day Options Backtester?** The end-of-day engine marks positions once a day, with history back to 2007, 45 strategies, and 794 indicator triggers. Intraday mode marks every minute since October 2020, so stops and profit targets fire when they actually hit instead of being evaluated at the close. Both engines live in the same Custom Backtester: run daily bars for multi-day holds, minute bars for 0DTE and short-dated trades. **How realistic are the fills?** Slippage is modeled as a percentage of the bid-ask width on each side of the trade, and commissions default to $0.65 per contract. A wide-price filter screens out quotes too wide to trade: any option whose bid-ask spread is wider than a set percentage of its strike (5% by default) or of its mid price (15% by default) is kept out of your fills. Every one of these settings is adjustable, so you can loosen the filter or stress a strategy with harsher fills before you trust it. **Do I need to write code?** No. Describe the strategy in plain English and the AI generator fills in every field, or set the fields yourself. If you already have a model, upload a CSV of entry and exit timestamps and the engine trades your signal on real minute-level options prices. **A high win rate can still lose money, right?** Right, which is why the report grades risk, not just hit rate. Short premium wins often and loses big when it loses, so every run computes Sharpe ratio, max drawdown, and monthly returns alongside the win rate, and the trade log lists every stop-out so you can inspect the left tail yourself before you trade it. **How much does the Intraday Backtester cost?** It is included in ORATS Trading Tools at $99 per month for an individual license ($199 per user per month for a professional license), alongside the end-of-day backtester, scanners, Otto, real-time data, and the rest of the platform. Cancel within 24 hours of signup for an automatic full refund. --- ## Otto AI Agent Source: https://orats.com/otto ### Ask in plain English. Otto does the work. Meet Otto, powered by Anthropic's Claude. Run backtests, scan the market, analyze options data, build trades, understand your portfolio, and navigate ORATS, all through one conversation. Otto is powered by Anthropic's Claude and live ORATS data. In the hero screenshot, Otto's agent panel is open next to a completed backtest and the real backtester form. What the numbered markers call out: 1. One toggle, whole new sidebar. Flip Dashboard to Agent on any page and Otto opens with your context along for the ride. 2. Ask anything. Options, a symbol, a backtest: one input drives 95 tools across the platform. 3. It ran the backtest itself. Win rate, P&L, drawdown: Otto submitted the run, waited for it, and pulled the numbers. 4. Then it tells you the truth. A quick read on the risk, the drivers, and what to test next. 5. The same tools you use. Otto fills the real backtester form, so you can take over and tweak anytime. 6. Explain this page. One click anywhere in the dashboard and Otto walks you through what you're seeing. Example prompts: - "Run an SPX 0DTE put credit spread backtest over the last 6 months" - "Scan for high IV rank names reporting earnings this week" - "What's my portfolio delta right now?" - "Build a QQQ iron condor around the 16 delta and paper trade it" - "Why is NVDA's implied move so high?" - "Explain what I'm seeing on this page" - "Chart SPY 30-day implied vol against realized" - "Compare my saved backtests: which has the best risk-adjusted results?" - "What does slope percentile mean?" - "Show me today's biggest vol movers" - "Find cheap calendars on liquid names" - "Why is this volatility surface shaped this way?" - "Paper trade a TLT strangle, one lot" - "Show me liquid put spreads with a 70% chance of profit" - "Analyze my positions for volatility and earnings exposure" - "Open the Option Scanner with the filters you just used" ### Not just answers. Actual workflows. Otto can run the analysis, show you the result, and open the underlying ORATS tool with the inputs already populated. Review the settings, make changes, and continue working from there. The workflow in four steps: 1. Ask. One plain-English request, as specific as you want to be. ("Find high-IV earnings trades with positive historical edge.") 2. Otto works. It queries ORATS data, scanners, backtests, and proprietary analytics, picking the tools itself. 3. See the result. Tables, stats, and charts land directly in the conversation, with every tool call visible. 4. Keep working. Open the populated Scanner, Backtester, Trade Builder, or other ORATS tool and take over. Otto can: access ORATS public and private APIs, run analyses and return results inline, open ORATS tools, populate tool inputs automatically, explain the page you're viewing, and use your ORATS data and saved work, where permissions allow. ### Start with a prompt. Continue with the full tool. Otto doesn't trap your research inside a chat window. The page shows real screenshots of one conversation: "Backtest an SPX 0DTE iron condor, 16-delta shorts and 5-delta wings, entered at 9:45, exit at 50% profit or 200% stop loss" ran as a real backtest on the 1-minute engine (submitted with a job id, tracked, and pulled back into the chat as a stats table: a 76.8% win rate masking a losing year, and Otto says so plainly), and one sentence more, "Open it in the Backtester so I can tweak the wings," opened the intraday Custom Backtester with every input already populated: symbol, strategy, entry time, all four legs' deltas, and the 50%-profit / 200%-stop exits. Inspect the parameters, adjust the analysis, and continue working visually. Three things make Otto trustworthy to hand the wheel: #### Sees what you see Otto reads the page you're on. Click "Explain this page" anywhere in the dashboard and it walks you through the screen, your data included. #### Shows its work See the tools Otto used, the data it queried, the parameters it selected, and the results it produced: every tool call is a card you can expand. #### Paper trades, never live Otto places paper trades only and never sends a live order. It reads your positions and balances, but every live trade stays in your hands. ### Questions. Analyses. Hands on the tools. Otto handles all three kinds of prompt, and every example on the page deep-links into the dashboard with that workflow ready to run: Questions Otto answers (grounded in the ORATS knowledge base and the page you're on): - "Why is this volatility surface shaped this way?" - "What does slope percentile mean?" - "What's the difference between IV rank and IV percentile?" - "Explain what I'm looking at on this page." Analyses Otto runs (real backtests, scans, and portfolio math, executed for you): - "Backtest a 30-delta SPY iron condor entered 45 DTE and closed at 50% profit." - "Find stocks reporting earnings next week where implied volatility is historically expensive." - "Compare my last five saved backtests and tell me which has the best risk-adjusted results." - "Analyze my current positions for volatility and earnings exposure." Tools Otto opens and populates (the handoff: Otto's work, loaded into the real interface): - "Open the Option Scanner and populate it with the filters you just used." - "Build a QQQ iron condor around the 16 delta and paper trade it." - "Open the option chain for the SPX weeklies." - "Chart SPY 30-day implied vol against realized." ### Ask about what you're looking at. Otto understands where you are in the ORATS platform. Ask it to explain a chart, parameter, metric, or page, and then ask it to take the next step. Every dashboard page also has a one-click "Explain this page" shortcut. The page shows a real capture of it on the SPX Outlook: Otto reads the view through an App context tool call and answers with the page's own numbers (index level, IV percentile, skew slope, term structure), with a follow-up like "Now find stocks with a similar volatility setup." typed and ready to send. ### 95 tools. One conversation. Otto is the natural-language layer over the whole platform: you don't need to know which tool to use, where it lives, which filters to set, or which endpoint to query. Every major surface of the dashboard is a tool Otto can drive. #### Backtesting Runs end-of-day and intraday backtests, browses the 300M+ backtest library, checks run status, and loads winners into the Strategy Optimizer. Example: "Backtest a 30-delta SPY put credit spread since 2015" #### Scanning Configures and runs the Option Scanner and Stock Scanner, saves scans you like, and re-runs your saved ones. Example: "Find straddles on stocks reporting earnings this week" #### Trade building Builds multi-leg trade tickets, opens them in the sidebar ready to send, and places paper trades so you can track the idea risk-free. Example: "Build an IWM iron condor and paper trade one lot" #### Portfolio Reads your positions, balances, and open orders across connected brokers, and analyzes your risk profile on demand. Example: "What's my delta exposure if SPY drops 2%?" #### Market intelligence Top movers, unusual options activity, largest trades, earnings calendars, and news, synthesized instead of listed. Example: "What moved vol today and why?" #### Charts & data Opens option chains, charts values with trendlines, and queries every ORATS data endpoint: live, delayed, and historical. Example: "Chart NVDA's IV rank over the past year" #### Navigation Drives the dashboard for you: opens pages, drawers, chains, and tabs, so the answer arrives already on screen. Example: "Open the option chain for the SPX weeklies" #### ORATS knowledge Explains every indicator, methodology, and metric on the platform, drawing on the full ORATS knowledge base. Example: "How does ORATS smooth its vol surfaces?" Building your own agent instead? The ORATS CLI plugs Claude Code and Codex straight into the same options data Otto uses. ### Built on ORATS. Not the open internet. A general AI can talk about options. Otto works inside the platform your research lives in: the data, the tools, and your own saved work. #### Proprietary options data ORATS volatility surfaces, Greeks, theoretical values, historical options data, earnings analytics, and derived indicators. #### Direct tool access Otto runs ORATS tools rather than telling you how to use them: backtests, scans, charts, and paper trades. #### Your ORATS context Otto can work with your saved backtests, scans, positions, and other account data where available. #### Interactive handoff Open the actual ORATS tool with Otto's work already populated, and keep going by hand. ### Traders on Otto Real notes from the support inbox, first names only: - "I have been learning your screen set up and nomenclature using Otto and I have got to tell you it is by far the best automated help program I have experienced. Excellent job." (Joel) - "Otto is great, way more helpful than general AIs like Perplexity as it has way more context!" (Andrey) - "I am extremely impressed by ORATS! I have been using the AI tool to learn more about the terminology and tools on the website, and it has been very helpful." (John) - "Otto has been very helpful (and very good as sales rep!)" (Nico) ### Pricing Otto comes with the subscription you already have. One flat subscription covers every conversation. Otto ships inside ORATS Trading Tools alongside every other tool on the platform. Individual: $99 / month Professional: $199 / user / month Everything included: Intraday Backtester (NEW), Otto AI Agent (NEW), Options Backtester, Strategy Optimizer, Trade Ideas, Option Scanner, Stock Scanner, Trading, Ticker Analysis, Trade Builder, Real-time data, 2,000 backtests / month, Connect to Interactive Brokers, TradeStation, and Tradier. Does not include ORATS Data API access. Cancel within 24 hours of signup for an automatic full refund. ### FAQ **What is Otto?** Otto is an AI agent built into the ORATS dashboard. Flip the sidebar from Dashboard to Agent on any page and ask in plain English; Otto picks from 95 tools to run backtests, configure scanners, build trades, read your positions, chart data, and explain what is on your screen. You don't need to know which ORATS tool to use, where to find it, or which filters to set: Otto does, and it can open that tool with its work already populated. **Can Otto open and set up ORATS tools for me?** Yes. Otto can open the Backtester, the Option and Stock Scanners, option chains, the trade ticket, and other ORATS tools with its inputs already populated. Run an analysis in the conversation, then ask Otto to open the underlying tool: every parameter it used is filled in, so you can review the settings, adjust them, and rerun. **Can Otto place real trades with my money?** No. Otto analyzes, scans, builds trade tickets, and places paper trades so you can track an idea risk-free. Live orders always stay in your hands: Otto can stage a ticket in the sidebar, and you decide whether to send it. **What AI model powers Otto?** Otto runs on Anthropic's Claude. It shows its work as it goes: every tool call appears as an expandable card, so you can see exactly which backtest it ran, which scan it configured, which parameters it selected, and which data it pulled. **Can Otto see my portfolio?** If you have connected a broker (Interactive Brokers, TradeStation, or Tradier), Otto can read your positions, balances, and open orders, and analyze your risk on demand. It reads your account; it never trades it. **Are Otto's answers financial advice?** No. Otto is a research tool: it can be wrong, and its answers are not financial advice. That is why every answer shows its work, from the tool calls it made to the data behind them, so you can verify before you act. **Does Otto cost extra?** No. Otto is included in ORATS Trading Tools at $99 per month for an individual license ($199 per user per month for a professional license), with no separate AI fees. One flat subscription covers every conversation and every other tool on the platform. --- ## Strategy Optimizer Source: https://orats.com/strategy-optimizer ### Enhance your strategies with proprietary indicators ### Strategy Optimizer Take your trading strategies to the next level with intelligent optimization. Add proprietary indicators and technical analysis to improve entry timing and overall performance with statistical validation. Get Strategy Optimizer + every trading tool for only $99/mo (ALL ACCESS) ### Top Features Loved by Users #### 1. 98 proprietary indicators Access exclusive ORATS indicators including volatility forecasts, earnings predictions, contango measurements, and relative volatility comparisons between stocks and ETFs. Each indicator comes with pre-calculated performance metrics and P-value validation to ensure statistical significance. #### 2. Smart entry optimization Enhance any strategy - from your saved backtests, our 300+ million pre-calculated backtests, or simple long/short positions. Add technical indicators like SMA, Bollinger Bands, RSI, and CCI with pre-configured presets for short, medium, and long-term strategies. #### 3. Statistical validation Avoid over-fitting with P-value calculations and permutation testing. The system automatically runs 10,000 modified Monte Carlo simulations to validate that your performance improvements are real, not random. Monitor real-time updates showing return improvement, Sharpe ratio, and win rate changes. ### Learn from an ex-market maker Weekly options education hosted by ORATS founder Matt Amberson. --- ## Option Scanner Source: https://orats.com/option-scanner ### Find trades meeting your criteria ### Option Scanner Scan and rank thousands of option trades based on volatility metrics, delta cost, and other theoretical values. Customize DTE, strikes, and more. Get Option Scanner + every trading tool for only $99/mo (ALL ACCESS) ### Top Features Loved by Users #### 1. Scan thousands of symbols Choose from over 5,000 symbols, focusing on common ETFs like SPY and QQQ or individual stocks like AAPL and TSLA. Or, start off with a stock scan (ie, stocks reporting earnings this week). You can scan up to 25 symbols at a time. Specify a market outlook for even more targeted scan results. #### 2. Scan for all types of strategies Scan for bullish, bearish, and neutral strategies. Choose your target days to expiration, strikes, and other entry criteria such as Spread / Stock Price. You can even set up your own custom scans with infinite combinations of legs. #### 3. Ranking and trade analysis Fine-tune trade selection by adjusting the weighting of various columns such as D% and POP%. Select trades to view a payoff diagram, send the trade through a broker, or visualize it on the Trade Builder. Take advantage of proprietary theoretical values like S% to help find an edge. ### Learn from an ex-market maker Weekly options education hosted by ORATS founder Matt Amberson. --- ## Stock Scanner Source: https://orats.com/stock-scanner ### Find tickers meeting your levels ### Stock Scanner Scan over 5,000 stocks and ETFs using 700+ proprietary option indicators plus 22 new fundamental indicators. Get Stock Scanner + every trading tool for only $99/mo (ALL ACCESS) ### Top Features Loved by Users #### 1. 700+ Indicators From common indicators like earnings, stock volume, and implied volatility, to fundamental indicators like PE ratio and market cap, to option indicators like contango and slope, there's an indicator for everybody! Plus, add custom ratios of indicators to create a truly one-of-a-kind scan. #### 2. Components Components help you compare a single stock to all of the stocks in the same SPDR sector ETF. ORATS has over 30 unique symbols that are appended by _C. These have data points just like any other symbol, except they are calculated using the weighted average of the ETFs components. For example, XLK is the SPDR technology sector ETF. We look at all of its components and calculate a weighted average for each indicator. The results are placed into a new symbol called XLK_C. Components can be used as ratios when building custom indicators. #### 3. Pre-canned scans We have included several popular scans than can be quickly accessed: Hard-To-Borrow, Low IV30d, High IV30d, Earnings This Week, Put-Call Skew Rich, Put-Call Skew Cheap, Unusual Put Volume, Unusual Call Volume. We are constantly adding more! ### Learn from an ex-market maker Weekly options education hosted by ORATS founder Matt Amberson. --- ## Ticker Analysis Source: https://orats.com/ticker-analysis ### Research stocks, ETFs, and indexes ### Ticker Analysis Get a comprehensive view of a company's options chain, earnings history, time and sales, and technical outlook. Get Ticker Analysis + every trading tool for only $99/mo (ALL ACCESS) ### Top Features Loved by Users #### 1. Options chain & volatility surface In addition to the standard options chain, we added a monthly IV graph as a useful visual aid for advanced traders who want to identify outliers in the options chain. See how each individual strike compares across the entire volatility surface. The call and put mid IVs for each strike are overlaid on top of the smoothed IV skew for each expiration. A line through each expirations at-the-money (ATM) IV is drawn to accentuate the overall direction of IV. Highlighted are the highest and lowest slope, IV, confidence, and mwVol (ATM weighted market width in implied volatility terms) of all expirations. #### 2. Earnings moves visualized Powered by a visually stunning representation of implied vs. actual earnings moves, you can view the complete history of the last 12 earnings reports for a company, overlaid with key financials such as PE Ratio, EPS Estimated vs. Actual, and Annual Dividend Yield. Consider doing your own analysis by downloading a table of these results, which includes 19 earnings metrics, such as Inter-Earnings IV and HV. #### 3. Time and sales We look at the raw order flow and detect the largest trades coming through the market. In addition to the strategy and contract size, you can also find the trade amount (in dollars), theoretical edge (compared to our theoretical price), and the contracts / avg. option volume 20d (to see the relative size of the position). You can sort on all of these metrics. Additionally, ORATS presents an intraday chart of dollar delta plus a summary of total premium, total profit, and opening vs. unknown volume. Analyzing these metrics can help you form a well-crafted trading thesis. ### Learn from an ex-market maker Weekly options education hosted by ORATS founder Matt Amberson. --- ## Trade Builder Source: https://orats.com/trade-builder ### Visualize your trade ### Trade Builder Chart future expirations and strikes with overlays for earnings, trendlines, volatility, open interest, and more. Get Trade Builder + every trading tool for only $99/mo (ALL ACCESS) ### Top Features Loved by Users #### 1. Earnings and insider trades Historical earnings dates are shown on the graph, along with their actual and implied moves. Red means the actual move was below zero while green means the actual move was above zero. Insider buys and sells reported by the SEC are shown by the red and green arrows on the chart. Hover over to see officer title, amount of shares traded, and total dollar value. The arrows are scaled to represent the size of the trade. #### 2. Volatility visualized See where future volatility is undervalued (green) or overvalued (red). ORATS uses proprietary volatility models to forecast short and long term volatility as well as short and long term slope. Also see the 68% and 95% expected range of stock movement calculated using the at-the-money implied volatility value. #### 3. Open interest & volume Open interest and volume for each strike is shown by the cyan and purple bars at each expiration. The scale of each bar is shown on the top left of the chart. Cyan bars indicate call OI/volume while purple bars indicate put OI/volume. ### Learn from an ex-market maker Weekly options education hosted by ORATS founder Matt Amberson. --- ## Trade Ideas Source: https://orats.com/trade-ideas ### Discover high-probability trading opportunities ### Trade Ideas Find profitable trades based on 300+ million historical backtests and real-time market data. Access curated strategies, custom scans, and market intelligence to identify optimal entry points. Get Trade Ideas + every trading tool for only $99/mo (ALL ACCESS) ### Top Features Loved by Users #### 1. Backtest-driven discovery Our system uses the Backtest Finder to browse over 300 million pre-compiled backtests across all symbols and strategies, identifying those whose entry criteria match the current market environment. We then scan these high-performing, environment-matched backtests for current options trades. Filter by bullish, bearish, or neutral strategies. Each result includes detailed historical performance and probability of profit rankings. #### 2. Curated & custom strategies Access expert-selected strategies enhanced with our optimizer, or deploy your own custom strategies. The system continuously scans for options matching your parameters and entry indicators, updating throughout the day with the best opportunities ranked by probability and risk/reward. #### 3. Real-time market intelligence Monitor time and sales data for unusual activity, analyze order flow with dollar delta metrics, and discover market trends through visual reports. Track the largest trades, upcoming earnings, dividends, and economic events to inform your trading decisions. ### Learn from an ex-market maker Weekly options education hosted by ORATS founder Matt Amberson. --- ## AI Agents Source: https://orats.com/ai-agents ### @orats/cli v1.0 · for Claude Code and Codex ### Options data your AI agent can actually read. Claude Code and Codex can reason about vol surfaces, skew, and Greeks. ORATS provides stable surfaces, consistent Greeks, and production-grade inputs. One CLI. Every ORATS endpoint. SMV-cleaned IV surfaces, forecast vol, end-of-day data since 2007, and one-minute intraday back to August 2020. ### Install in 60 seconds 1. Install: `npm i -g @orats/cli` 2. Token: `export ORATS_TOKEN=your_token` 3. Skill: `orats skills` ### Live Demo Watch Claude Code run the CLI. Type `/orats` in Claude Code and the agent picks the right endpoints, composes the flags, and reads the output. Here's the transcript on five real questions. Try it on your own ticker. ### The Edge #### The edge you can't train into a model. Frontier models already know what IV rank means. What they can't do from pre-training is pull this morning's smoothed vol surface or compare today's implied earnings move against the last eight quarterly realized ones. **01. SMV-cleaned IV surfaces** Every strike returns `smvVol`, ORATS' smoothed fit of the implied vol surface. Your agent reasons on a clean curve instead of a noisy mid between wide bids and asks. Visual: raw bid-ask vs SMV fit **02. 1-minute intraday since Aug 2020** `hist-intraday-strikes-chain`, `hist-intraday-summaries`, and more. Replay earnings prints, CPI reactions, and vol spikes minute by minute. Visual: SPY · 2024-08-05 · minute-by-minute IV **03. Forecast vol, built in** `orFcst20d`, `impliedMove`, `live-monies-forecast`. ORATS' rich-vs-cheap signal, ready for the agent to read. Visual: AAPL · implied vs ORATS forecast **04. LLM-native CLI** `orats --llms` emits a manifest. `--schema` emits JSON Schema. `orats mcp add --agent claude-code` wires MCP. JSON on pipe, TOON in a terminal. **05. End-of-day data since 2007** Every US equity option, every trading day, since 2007. `hist-eod-cores`, `hist-eod-strikes`, `hist-eod-monies-implied`. Backtest GFC, Volmageddon, COVID, and August 2024 on the same API. Visual: 19 years · four data schemas · daily **06. Earnings-aware analytics** `wksNextErn`, `impliedMove`, `exErnIv30d`, and the last twelve realized earnings moves (`ernMv1`...`ernMv12`). Pre-earnings event studies without stitching a single date series. Visual: NVDA · delayed-cores snapshot Plug this edge into your agent. ### Every endpoint. One consistent CLI. Four data tiers, twenty-six endpoints, one composable surface. Search by name, pick a tier, copy the example. Your agent reads the JSON when piped. - Live: 7 endpoints - Delayed: 3 endpoints - Hist EOD: 12 endpoints - Hist Intraday: 4 endpoints `orats data --ticker T [flags]` One token unlocks all 26 endpoints. ### Pricing built for agents. The CLI and skill are built and maintained by ORATS for individual users. Grab an API token below to unlock live data, intraday history, and every endpoint. Individual / Institution #### Delayed, $199/mo Research agents, no real-time. - 20,000 requests / month - ~15-min delayed data - End-of-day history since 2007 - Forecast vol + 500+ fields #### Live, $299/mo Live quotes without intraday history. - 100,000 requests / month - Real-time quotes + Greeks - Strikes by expiry - Everything in Delayed #### Live Intraday, $599/mo (Recommended) Live + 1-minute intraday history. Everything an AI agent needs. - 1,000,000 requests / month - Live quotes, Greeks, and IV - 1-min intraday chain + history - 1-min SMV summaries + monies - Everything in Delayed + Live Not sure which tier fits your agent? Email support@orats.com and we'll point you to the right one. Institution: Institutions and professionals: any use of the data on behalf of a firm or clients, redistribution, or shared access among colleagues. Get a custom quote tailored to your needs. --- ## Earnings Source: https://orats.com/earnings ### Earnings ### Earnings dates for every reporting US stock A daily FTP delivery of the upcoming and the last earnings announcement dates, the time of day each company reports, and whether the date is confirmed by the company, for every reporting US-listed stock. ### One daily FTP file Delivered via secure FTP as a ready-to-ingest file, updated every two hours throughout the trading day. **Sample data columns:** | Ticker | Next Earnings Announcement | Past Earnings Announcement | Time of Day | Confirmed by the Company | |--------|---------------------------|---------------------------|-------------|--------------------------| | AAPL | 2026-07-30 | 2026-04-30 | After | Unconfirmed | | AARD | 2026-08-13 | 2026-05-07 | Before | Unconfirmed | | AAT | 2026-07-28 | 2026-04-28 | After | Unconfirmed | | AAVMY | 2026-08-12 | 2026-05-13 | Before | Confirmed | | AAWH | 2026-08-06 | 2026-05-13 | After | Unconfirmed | | AB | 2026-07-23 | 2026-04-28 | Before | Unconfirmed | **Data fields:** - **Ticker**, The stock's trading symbol. - **Next Earnings Announcement**, Date of the company's upcoming earnings report. - **Past Earnings Announcement**, Date of the most recent earnings report. - **Time of Day**, Whether the company reports Before or After market hours. - **Confirmed by the Company**, Whether the date is Confirmed or Unconfirmed by the company. ### Sourced in partnership with Wall Street Horizon In partnership with Wall Street Horizon, part of TMX, ORATS provides earnings dates. Their algorithms continuously scan the news wires to confirm and update announcement dates, so the feed reflects the latest schedule for every reporting company. ### Get a Quote Tell us about your firm and how you'd use the earnings feed, and we'll send back a tailored quote. --- # Data products and APIs ## Options Data API Source: https://orats.com/data-api ### Options Data API Get live, delayed, and historical end-of-day options data back to 2007 augmented with hundreds of proprietary indicators. **15+ Years of data | 5,000+ Symbols | 500+ Indicators** ### Get all this with an Options Data API subscription #### History Query end-of-day data for any option imaginable. - All US equity options including stocks, ETFs, and indexes. - 30+ tickers for component weighted averages. - Full history dating back to 2007. #### Strikes Get high quality bid ask quotes and greeks. - Gathered 14 minutes before the close to avoid wide spreads. - Cleaned using our Smoothed Market Values system. - Includes ORATS theoretical price value estimate. #### Core Data Track over 100 indicators for every stock. - Correlations and ratios between components and ETFs. - Historical volume and pre/post earnings price moves. - Proprietary ORATS forecasts of implied volatility and slope. #### Volatility Data Measure volatility under any circumstance. - Historical stock intraday volatility vs close-to-close. - IV rank and percentiles for the last month and year. - Skewness and kurtosis indicators for the implied volatility surface. Click here to read the documentation and explore all the endpoints: https://orats.com/docs/live-data-api ### Indicators Selected indicators by category (full list at https://orats.com/docs/definitions): **Core Data** - assetType: characterizes stock as easy-to-borrow (ETB), hard-to-borrow (HTB), dividend paying, stock ETF or Index - priorCls: closing price on the prior trading day - pxAtmIv: stock price taken at time of IV calculation - mktCap: market capitalization (shares outstanding * stock price) (in 000s) - cVolu: today's call option volume for all strikes for the current trading day - cOi: total call open interest - pVolu: today's put option volume for all strikes - pOi: total put open interest - orFcst20d: ORATS forecast of stock volatility for the next 20 days based on data with earnings taken out - orIvFcst20d: ORATS forecast of implied volatility in 20 days with earnings taken out - orFcstInf: ORATS forecast of the infinite implied volatility - orIvXern20d: 20 business day interpolated implied option volatility with earnings effect taken out - orIvXernInf: ORATS long term implied volatility parameter solve of term structure at 2 year out with 30 calendar day parameter and earnings effect out - iv200Ma: 200 day moving average of the ORATS 20day ex-earn implied volatility - atmIvM1: at-the-money implied volatility for month 1 interpolated using strikes weighted to at-the-money - atmFitIvM1: the at-the-money monthly fit volatility for month 1 using the term structure of the forecast and the implied at-the-money volatility - atmFcstIvM1: forecast of volatility for month 1 using the ex-earnings forecast plus the earnings effect at this days to expiration - dtExM1: days to expiration for month 1 - atmIvM2: at-the-money implied volatility for month 2 - atmIvM3: at-the-money implied volatility for month 3 - atmIvM4: at-the-money implied volatility for month 4 - iRate5wk: short term risk-free interest rate from treasuries - iRateLt: long term risk-free interest rate from treasuries - px1kGam: estimated cost of 1000 gamma per day for 30-day options - volOfVol: annualized standard deviation of daily (1day ORATS intraday vol) statistical volatility for one year - volOfIvol: annualized standard deviation of the ORATS ex-earnings 30 day implied - slope: put call slope at the interpolated 30 calendar days of the tangent at 50 delta - slopeInf: implied infinite slope - slopeFcst: ORATS forecast of the slope of implied volatility skew - deriv: derivative or curvature of the monthly strikes at 30 day interpolated - derivFcst: forecast derivative at 30 day interpolated - mktWidthVol: market width in implied vol points at the interpolated 30 days to expiration - mktWidthVolInf: market width in implied vol points at the interpolated 2 years to expiration - ivEarnReturn: average of the volatility day of and day after earnings / implied day before divided by implied day before / implied day after - fcstR2: goodness of fit of the 20-day forecast to the 20-day future statistical volatility - fcstR2Imp: goodness of fit of the implied forecast vs actual implied in 20 days - stkVolu: total stock volume for an underlyer - avgOptVolu20d: average option volume for all strikes over the last 20 days - sector: sector as derived by cusip number - clsPx1w / stkPxChng1wk: stock price and change over the prior week (5 trading days) - clsPx1m / stkPxChng1m: stock price and change over the prior month (21 trading days) - clsPx6m / stkPxChng6m: stock price and change over the prior 6 months - clsPx1y / stkPxChng1y: stock price and change over the prior year (252 trading days) - divYield: annualized dividends divided by stock price - divGrwth: slope of the forecasted dividends annualized - lastErn: last earnings date - lastErnTod: time of day earnings released: Before-2, After-3, During-4, Unknown-1 - absAvgErnMv: absolute average percent earnings move 12 observations at the time of the historical earnings announcement - impliedIee: market implied earnings effect - tkOver: 0 - Not a takeover. 1 - A takeover or rumored takeover stock - etfIncl: ETFs where the symbol is a component pipe delimited if multiple - bestEtf: closest SPDR Sector ETF (default to SPY or RUT if none) - correlSpy1m / correlSpy1y: ORATS 30 day implied volatility ex-earnings correlation with SPY one month/year - correlEtf1m / correlEtf1y: orIvXern correlation with the Best ETF 30 day IV over the last month/year - beta1m: short term price beta with SPY for 30 calendar days - beta1y: long term price beta, 365 calendar days - ivPctile1m / ivPctile1y: percentile of the current orIvXern vs. month/year range - ivStdvMean: number of stdevs the orIvXern is away from mean for the year - ivStdv1y: standard deviation of the orIvXern for the year - ivSpyRatio: orIvXern divided by SPY 30 day ORATS implied volatility - ivEtfRatio: orIvXern divided by ETF 30 day ORATS implied volatility - ivHvXernRatio: orIvXern / orHvXern20d Ratio - slopepctile: one-year percentile for the slope - slopeavg1m / slopeavg1y: slope average for trailing month/year - impliedR2: regression formula goodness of fit of the 30 day ORATS implied volatility to the 20 day future statistical ex-earnings volatility - borrow2yr: implied hard-to-borrow interest rate at two years to expiration given options prices put call parity - confidence: total weighted confidence from the monthly implied volatilities - wksNextErn: number of weeks until next earnings - oi: total open interest for all strikes - ernDate1-12: historical earnings dates back 1-12 - ernMv1-12: percentage move for earnings dates back 1-12 - ernStraPct1-12: earn straddle price as a percent of the stock price for earnings dates - ernEffct1-12: earn effect for earnings dates - iv1yr: 1 year interpolated implied volatility - fcstSlope: ORATS forecasted 30 calendar day put/call slope - fcstErnEffct: ORATS forecasted earnings effect - ernMvStdv: standard deviation of the 12 earnings moves absolute values - impliedEe: The implied earnings effect to make the best-fit term structure - impErnMv: percentage stock move in the implied earnings effect - fairVol90d: IV of the first earnings month - exErnIv1yr: implied 1 year interpolated implied volatility with earnings effect out **Daily Prices** - clsPx: closing stock price adjusted for splits and dividends - hiPx: high of day stock price adjusted for splits and dividends - loPx: low of day stock price adjusted for splits and dividends - open: opening stock price adjusted for splits and dividends - stockVolume: total stock volume of the day adjusted for splits and dividends - unadjClsPx: unadjusted closing stock price - unadjHiPx: unadjusted high of day stock price - unadjLoPx: unadjusted low of day stock price - unadjOpen: unadjusted opening stock price - unadjStockVolume: unadjusted total stock volume of the day **Dividend History** - exDate: ex-dividend date - divAmt: dividend amount - divFreq: dividend frequency per year - declaredDate: declared dividend date **Earnings History** - earnDate: earnings date - anncTod: time of day earnings released: Before=900, After=1630, During=1200, Unknown=2359 **Historical Volatility** - orHv1d through orHv1000d: historical intraday volatility (1, 5, 10, 20, 30, 60, 90, 100, 120, 252, 500, 1000 day) - clsHv5d through clsHv1000d: historical close to close volatility (5, 10, 20, 30, 60, 90, 100, 120, 252, 500, 1000 day) - orHvXern5d through orHvXern1000d: historical intraday volatility excluding day of and after earnings - clsHvXern5d through clsHvXern1000d: historical close to close volatility excluding day of and after earnings **IV Rank** - iv: implied volatility at 30 days interpolated - ivRank1m: measure of implied volatility vs its past 1 month values using (Current IV - 1 month Low IV) / (1 month Max - 1 month Min) - ivPct1m: percentile of implied volatility vs its past 1 month values - ivRank1y: measure of implied volatility vs its 1 year past values - ivPct1y: percentile of implied volatility vs its past 1 year values **Monies Forecast** - riskFreeRate: continuous interest (risk-free) rate - vol100 through vol0: seed volatility at call deltas from 100 down to 0 (in 5-delta increments: 100, 95, 90, 85, 80, 75, 70, 65, 60, 55, 50, 45, 40, 35, 30, 25, 20, 15, 10, 5, 0) **Monies Implied** - riskFreeRate: continuous interest (risk-free) rate - yieldRate: continuous dividend yield of discrete dividend's NPV - residualYieldRate: adjustment amount for the dividend yield at the .50 call delta - residualRateSlp: slope of the residual rate linear regression - residualR2: r^2 of the residual rate linear regression - confidence: portion of the delta range covered by market data - mwVol: ATM weighted market width in implied volatility terms - vol100 through vol0: seed volatility at call deltas 100 through 0 - atmiv: implied volatility for month 1 - slope: best-fit regression line through the strike volatilities adjusted to the tangent slope at the 50 delta - deriv: derivative or curvature of the monthly strikes at 28 day interpolated - fit: the at the money monthly fit volatility - spotPrice: spot price of the index - calVol: smoothed at-the-money term structure implied volatility - unadjVol: smoothed at-the-money term structure implied volatility taking out the earnings effect - earnEffect: market implied earnings effect **Stock Split History** - splitDate: stock split date - divisor: ratio of stock split **Strikes** - callVolume / putVolume: call/put option volume - callOpenInterest / putOpenInterest: call/put open interest - callBidSize / callAskSize: call bid/ask size - putBidSize / putAskSize: put bid/ask size - callBidPrice / callAskPrice: call bid/ask price - callValue: call theoretical value based on smooth volatility - putBidPrice / putAskPrice: put bid/ask price - putValue: put theoretical value - callBidIv / callMidIv / callAskIv: call bid/mid/ask implied volatility - smvVol: ORATS final implied Volatility - putBidIv / putMidIv / putAskIv: put bid/mid/ask implied volatility - residualRate: implied interest rate data - delta: delta - gamma: gamma - theta: theta - vega: vega - rho: rho - phi: phi - driftlessTheta: time decay without taking in drift in underlying - extSmvVol: external volatility - extCallValue: external call theoretical price - extPutValue: external put theoretical price - spotPrice: spot price of the index **SMV Summaries** - annActDiv: annual dividend from the next year of expected dividends - annIdiv: annual implied dividend given options prices put call parity - borrow30: implied hard-to-borrow interest rate at 30 days to expiration - borrow2y: implied hard-to-borrow interest rate at two years to expiration - confidence: total weighted confidence from the monthly implied volatilities - exErnIv10d through exErnIv1y: ex-earnings interpolated implied volatility at 10, 20, 30, 60, 90 days, 6 months, 1 year - ieeEarnEffect: implied earnings effect to make the best-fit term structure - impliedMove: percentage stock move in the implied earnings effect - impliedNextDiv: amount of next dividend implied by put-call parity - iv10d through iv1y: interpolated at-the-money implied volatility at 10, 20, 30, 60, 90 days, 6 months, 1 year ### API Pricing Access industry standard options data plus a plethora of proprietary indicators. #### Delayed Data API, $199/month Perfect for getting started. Includes: - 20,000 requests per month - Tickers - Strikes + Near EOD History - Strikes by OPRA + Near EOD History - Monies Implied + Near EOD History - Monies Forecast + Near EOD History - SMV Summaries + Near EOD History - Core Data + Near EOD History - Daily Price - Historical Volatility - Dividend History - Earnings History - Stock Split History - IV Rank + History #### Live Data API, $299/month Best for active traders. Everything in Delayed Data API, plus: - 100,000 requests per month - Live Data - Strikes by Expiry - Expiration Dates Note that to access the live endpoints, you must first sign the live data agreements (available after signup). #### Live Intraday API, $599/month Every data endpoint, down to the minute. Everything in Live Data API, plus: - 1,000,000 requests per month - Intraday Strikes Chain + History - Intraday Strikes by OPRA + History - Intraday Monies Implied + History - Intraday SMV Summaries + History Note that to access the live endpoints, you must first sign the live data agreements (available after signup). #### All-In API, $899/month Access to all ORATS endpoints. Bundles the Live Intraday API with all four Tools APIs, $1,395/month bought separately, for $899/month (save $496/month). Every ORATS API in one subscription: - 1,000,000 requests per month - Tickers - Strikes + Near EOD History - Strikes by OPRA + Near EOD History - Monies Implied + Near EOD History - Monies Forecast + Near EOD History - SMV Summaries + Near EOD History - Core Data + Near EOD History - Daily Price, Dividend, Earnings, and Split History - Historical Volatility and IV Rank + History - Live Strikes, by Expiry, and by OPRA - Live Monies Implied and Forecast - Live SMV Summaries and Expiration Dates - Intraday Strikes Chain + History - Intraday Strikes by OPRA + History - Intraday Monies Implied + History - Intraday SMV Summaries + History - End-of-day history back to 2007 - One-minute history back to August 2020 - Option Scanner API: ranked trade candidates - Backtest Finder API: 300M+ precomputed backtests - Intraday Backtester API: custom one-minute backtests - Time & Sales API: tick-level prints with greeks Note that to access the live endpoints, you must first sign the live data agreements (available after signup). Institution pricing: Institutions and professionals (any use of the data on behalf of a firm or clients, redistribution, or shared access among colleagues) receive a custom quote tailored to their needs. --- ## Intraday Data API Source: https://orats.com/intraday-data-api ### Intraday Data API Get live, delayed, and historical one-minute options data back to August 2020 for over 5,000 symbols. **250,000+ Minutes of data | 5,000+ Symbols | 100+ Indicators** ### Get all this with an Intraday Data API subscription #### History Query down-to-the-minute options data. - One-minute intraday history available back to August 2020. - Option OPRA information available back to January 2022 for 1,270 tickers. - API requests return a minified CSV file for further parsing. #### Granular Data Narrow down millions of historical options. - Go back in time to the options chain for any minute during the trading day. - Filter options by ticker, expiry, and strike. - All options include greeks and ORATS smoothed values. #### Implied Monies Get detailed indicators for every expiration. - Seed volatilities for 21 different call deltas. - ATM term structure IV with and without the earnings effect. - Weighted market width and confidence levels. #### SMV Summaries Explore all kinds of implied volatility. - Interpolated IVs from 10-365 days at 4 different deltas. - Forward and flat forward volatility. - Borrow rate, contango, and other measures of confidence. Click here to read the documentation and explore all the endpoints: https://orats.com/docs/live-intraday-api ### Indicators The Intraday Data API provides intraday versions of the core indicators available in the Options Data API, including: - Intraday Strikes: per-minute bid/ask prices, IVs, greeks, SMV values for all options - Intraday Monies Implied: per-minute seed volatilities at 21 call deltas, ATM term structure IV, earnings-adjusted IV, residual rate, confidence - Intraday SMV Summaries: per-minute interpolated IVs at multiple tenors and deltas, forward/flat-forward volatilities, borrow rate, contango ### API Pricing Access industry standard options data plus a plethora of proprietary indicators. #### Delayed Data API, $199/month Perfect for getting started. Includes: - 20,000 requests per month - Tickers - Strikes + Near EOD History - Strikes by OPRA + Near EOD History - Monies Implied + Near EOD History - Monies Forecast + Near EOD History - SMV Summaries + Near EOD History - Core Data + Near EOD History - Daily Price - Historical Volatility - Dividend History - Earnings History - Stock Split History - IV Rank + History #### Live Data API, $299/month Best for active traders. Everything in Delayed Data API, plus: - 100,000 requests per month - Live Data - Strikes by Expiry - Expiration Dates #### Live Intraday API, $599/month Every data endpoint, down to the minute. Everything in Live Data API, plus: - 1,000,000 requests per month - Intraday Strikes Chain + History - Intraday Strikes by OPRA + History - Intraday Monies Implied + History - Intraday SMV Summaries + History #### All-In API, $899/month Access to all ORATS endpoints. Bundles the Live Intraday API with all four Tools APIs, $1,395/month bought separately, for $899/month (save $496/month). Every ORATS API in one subscription: - 1,000,000 requests per month - Tickers - Strikes + Near EOD History - Strikes by OPRA + Near EOD History - Monies Implied + Near EOD History - Monies Forecast + Near EOD History - SMV Summaries + Near EOD History - Core Data + Near EOD History - Daily Price, Dividend, Earnings, and Split History - Historical Volatility and IV Rank + History - Live Strikes, by Expiry, and by OPRA - Live Monies Implied and Forecast - Live SMV Summaries and Expiration Dates - Intraday Strikes Chain + History - Intraday Strikes by OPRA + History - Intraday Monies Implied + History - Intraday SMV Summaries + History - End-of-day history back to 2007 - One-minute history back to August 2020 - Option Scanner API: ranked trade candidates - Backtest Finder API: 300M+ precomputed backtests - Intraday Backtester API: custom one-minute backtests - Time & Sales API: tick-level prints with greeks Institution pricing available on request. --- ## Tools APIs Source: https://orats.com/data-api#tools-apis ### Tools APIs The production engines behind the ORATS dashboard's Option Scanner, Options Backtester, Intraday Backtester, and Time and Sales, exposed as REST APIs. Send a strategy in JSON; get back ranked candidates, precomputed backtest performance, minute-level simulations, and tick-level trade prints. Each Tools API is a flat monthly add-on to any ORATS data API subscription, selected at checkout on the API pricing page; each add-on bills as its own monthly subscription on the account, and one token covers the data plan plus every Tools API added. The All-In API plan ($899/month) bundles the Live Intraday API plus all four Tools APIs in one subscription. Every Tools API endpoint is rate limited to 10 requests per minute per token, counted separately per endpoint; beyond that, requests return a 429 with a message saying when the minute window resets. #### Option Scanner API ($99/month add-on) POST https://api.orats.io/scanner/scan?v=2 with a strategy-definition JSON body (one entry per leg, delta targets with min and max bands, DTE bands, leg relations). Scans live or delayed option chains across the symbols in the body and returns candidates ranked with pricing, greeks, and probability of profit; with distribution analytics enabled each candidate adds risk, max gain, max loss, breakevens, and an adjustable drift. Authentication: raw token in the Authorization header (no Bearer prefix). Docs: https://orats.com/docs/option-scanner-api #### Backtest Finder API ($99/month add-on) Searches the 300M+ precomputed options strategy backtests behind the Options Backtester (15 strategies). GET https://api.orats.io/backtest-finder/catalog lists every precomputed ticker and strategy combination; POST https://api.orats.io/backtest-finder/performance (ticker, strategy, rank such as bestReturnOnRisk, sharpe, sortino, annualReturn, or maxDrawDown) returns up to 100 ranked rows, and each row's id unlocks full results: summary stats, monthly returns, trade logs, and daily returns. A currentEnvironment object filters to backtests whose entry triggers match today's VIX, SMA, RSI, IV percentile, and slope levels. Authentication: token query parameter only. Docs: https://orats.com/docs/backtest-finder-api #### Intraday Backtester API ($299/month add-on) Asynchronous job API over the engine behind the dashboard's intraday backtesting mode. POST https://api.orats.io/backtests/intraday submits a backtest (symbol, start date of 2020-10-01 or later, entry time, one of 18 strategies, legs defined by delta and DTE bands or leg relations, optional stops and profit targets evaluated on every one-minute bar) and returns a backtestId; poll the status endpoint, then retrieve the summary, monthly and daily returns, and per-leg trade log. 0DTE is native (DTE counts from 1), and a two-week single-symbol run typically finishes in under a minute. Authentication: token query parameter. Docs: https://orats.com/docs/intraday-backtester-api #### Time & Sales API ($299/month add-on) Tick-level option trade prints, historical back to 2022-09-09 and live for the current session. GET https://api.orats.io/datav2/hist/time-sales/option by tradeDate with a ticker for a whole chain or an OCC symbol for one contract, plus expirDate, callPut, strike, from/to Eastern-time window, and minSize filters; GET https://api.orats.io/datav2/live/time-sales/option serves today's tape with the same filters. Every option print carries delta, gamma, implied volatility, and the underlying stock price joined from the ORATS one-minute greeks snapshots. JSON by default, CSV by appending .csv to the path; large results (including whole-day chain pulls, 1.5M+ prints on a busy SPY day) redirect to a presigned gzip file. Authentication: token query parameter. Docs: https://orats.com/docs/time-and-sales-api. --- ## Near End-of-day Source: https://orats.com/near-eod-data ### Near End-of-day #### Historical Options Data Since 2007 A complete snapshot of the US equity options market 14 minutes before the close of trading each day. Over 5,000 symbols included. Please visit ORATS University (https://orats.com/university/historical-data#near-end-of-day) if you want a complete sample of data. ### Get high quality historical options data Trade with confidence knowing our data is held to the highest industry standards for accuracy and completeness. #### Precise quotes Quotes are taken 14 minutes before the close to avoid deterioration. #### 15+ years of history Historical options data for over 5,000 symbols going back to 2007. #### Unmatched quality Get accurate greeks and volatilities powered by our SMV system. #### Easy to access Download the historical archive through AWS S3 using Cyberduck or the AWS CLI. Recurring daily files are delivered via FTP. ### Study accurate Greeks and volatilities Learn how we developed a proprietary smoothed market values (SMV) system to deliver you the most accurate Greeks and theoretical values. Watch the video: https://www.youtube.com/watch?v=gK5AQBXDluE #### Cleaning the quotes We clean and normalize the quotes using put-call parity, dividend assumptions, and the residual yield rate. #### Accurate Greeks The smoothed implied volatilites produce more consistent Greeks by which to manage risk. #### Fixing low liquidity We incorporate historical information when the confidence in the market summarization is low. #### Solving wide spreads Our treatment of low delta OTM options produces more realistic IVs. ### Field Definitions - ticker: The underlying symbol that represents the stock or index on which the option is based. - stkPx: The current price of the underlying stock. For indexes, this is the solved implied futures price for each expiration. - expirDate: The date on which the option expires. - yte: The number of years remaining until the option's expiration date. - strike: The price at which the option can be exercised. - cVolu: The total number of call option contracts traded on a particular day total at the time observed. - cOi: The total number of outstanding call option contracts updated by OCC the night before. - pVolu: The total number of put option contracts traded on a particular day total at the time observed. - pOi: The total number of outstanding put option contracts updated by OCC the night before. - cBidPx: The NBBO price at which a market maker is willing to buy a call option. - cValue: The theoretical value of a call option based on a smooth volatility assumption. - cAskPx: The NBBO price at which a market maker is willing to sell a call option. - pBidPx: The NBBO price at which a market maker is willing to buy a put option. - pValue: The theoretical value of a put option based on a smooth volatility assumption. - pAskPx: The NBBO price at which a market maker is willing to sell a put option. - cBidIv: The implied volatility of a call option at the current NBBO bid price. - cAskIv: The implied volatility of a call option at the current NBBO ask price. - smoothSmvVol: The smoothed implied volatility of an option based on the ORATS model. - pBidIv: The implied volatility of a put option at the current NBBO bid price. - pMidIv: The implied volatility of a put option at the midpoint of the current NBBO bid and ask prices. - pAskIv: The implied volatility of a put option at the current NBBO ask price. - iRate: The continuous interest (risk-free) rate. - divRate: The continuous dividend yield of discrete dividend's NPV. - residualRateData: The implied interest rate that is derived from the option pricing model. - delta: The theoretical increase in an option's price due to a one dollar increase in the underlying price. - gamma: The rate of change of an option's delta with respect to a one dollar increase in the price of the underlying asset. - theta: The rate of time decay of an option's value for one day. - vega: The sensitivity of an option's price to a one percent rise in the implied volatility of the option. - rho: The sensitivity of an option's price to a one percent increase in interest rates for the option. - phi: A measure of the convexity of an option's price with respect to changes in the price of the underlying asset. - driftlessTheta: The rate of time decay of an option's value as the expiration date approaches, without taking into account the drift in the price of the underlying asset. - extVol: The external implied volatility of the underlying asset, as provided by an external data source. The external data source is from the ORATS forecast volatility. - extCTheo: The external theoretical value of a call option, as provided by an external data source. - extPTheo: The external theoretical value of a put option, as provided by an external data source. - spot_px: The current market price of the underlying asset. For indexes this is the cash price. - trade_date: The date on which the option was traded. ### Historical Data Pricing Clean, accurate, and easy to use historical data for your options research. #### Near End-of-day A complete snapshot of the US equity options market 14 minutes before the close of trading each day. Over 5,000 symbols included. Recurring data (from today onward): $99/month Subscribe to recurring data. Historical data (from 2007 - present): $599 (one-time) 2-week download window: After purchase, historical files are available via AWS S3 for 14 days, using personal credentials issued on your ORATS dashboard, with step-by-step instructions for Cyberduck or the AWS CLI. No AWS account is needed, and you will not incur any AWS charges. Access is removed once the window closes, so plan your downloads accordingly. Includes: - Strikes - Greeks - Theoretical Values - Implied Volatilities - Historical download via AWS S3 - Recurring delivery via FTP Institution pricing available on request. --- ## 1 Minute Intraday Source: https://orats.com/one-minute-data ### 1 Minute Intraday #### Historical Options Data Since Aug. 2020 Full SMV greeks, theoretical values, and IVs for every minute during the trading day of all US equity options. Over 5,000 symbols included. Please visit ORATS University (https://orats.com/university/historical-data#1-minute-intraday) if you want a complete sample of data. ### Get high quality historical options data Trade with confidence knowing our data is held to the highest industry standards for accuracy and completeness. #### 500,000+ minutes of data Historical options data for every minute going back to August 2020. #### Thousands of tickers We gather intraday data for 5,000+ US equity option tickers. #### Unmatched quality Get accurate greeks and volatilities powered by our SMV system. #### Easy to access Download files through AWS S3. ### Study accurate Greeks and volatilities Learn how we developed a proprietary smoothed market values (SMV) system to deliver you the most accurate Greeks and theoretical values. Watch the video: https://www.youtube.com/watch?v=gK5AQBXDluE #### Cleaning the quotes We clean and normalize the quotes using put-call parity, dividend assumptions, and the residual yield rate. #### Accurate Greeks The smoothed implied volatilites produce more consistent Greeks by which to manage risk. #### Fixing low liquidity We incorporate historical information when the confidence in the market summarization is low. #### Solving wide spreads Our treatment of low delta OTM options produces more realistic IVs. ### Field Definitions - ticker: The underlying symbol that represents the stock or index on which the option is based. - tradeDate: The date on which the option was traded. - expirDate: The date on which the option expires. - dte: The number of days remaining until the option's expiration date. - strike: The price at which the option can be exercised. - stockPrice: The current price of the underlying stock. For indexes, this is the solved implied futures price for each expiration. - callVolume: The total number of call option contracts traded on a particular day total at the time observed. - callOpenInterest: The total number of outstanding call option contracts updated by OCC the night before. - callBidSize: The number of call option contracts available at the current national best bid and offer (NBBO) bid price. - callAskSize: The number of call option contracts available at the current NBBO ask price. - putVolume: The total number of put option contracts traded on a particular day total at the time observed. - putOpenInterest: The total number of outstanding put option contracts updated by OCC the night before. - putBidSize: The number of put option contracts available at the current NBBO bid price. - putAskSize: The number of put option contracts available at the current NBBO ask price. - callBidPrice: The NBBO price at which a market maker is willing to buy a call option. - callValue: The theoretical value of a call option based on a smooth volatility assumption. - callAskPrice: The NBBO price at which a market maker is willing to sell a call option. - putBidPrice: The NBBO price at which a market maker is willing to buy a put option. - putValue: The theoretical value of a put option based on a smooth volatility assumption. - putAskPrice: The NBBO price at which a market maker is willing to sell a put option. - callBidIv: The implied volatility of a call option at the current NBBO bid price. - callMidIv: The implied volatility of a call option at the midpoint of the current NBBO bid and ask prices. - callAskIv: The implied volatility of a call option at the current NBBO ask price. - smvVol: The smoothed implied volatility of an option based on the ORATS model. - putBidIv: The implied volatility of a put option at the current NBBO bid price. - putMidIv: The implied volatility of a put option at the midpoint of the current NBBO bid and ask prices. - putAskIv: The implied volatility of a put option at the current NBBO ask price. - residualRate: The implied interest rate that is derived from the option pricing model. - delta: The theoretical increase in an option's price due to a one dollar increase in the underlying price. - gamma: The rate of change of an option's delta with respect to a one dollar increase in the price of the underlying asset. - theta: The rate of time decay of an option's value for one day. - vega: The sensitivity of an option's price to a one percent rise in the implied volatility of the option. - rho: The sensitivity of an option's price to a one percent increase in interest rates for the option. - phi: A measure of the convexity of an option's price with respect to changes in the price of the underlying asset. - driftlessTheta: The rate of time decay of an option's value as the expiration date approaches, without taking into account the drift in the price of the underlying asset. - callSmvVol: The smoothed implied volatility of a call option based on the ORATS model. - putSmvVol: The smoothed implied volatility of a put option based on the ORATS model. - extSmvVol: The external implied volatility of the underlying asset, as provided by an external data source. The external data source is from the ORATS forecast volatility. - extCallValue: The external theoretical value of a call option, as provided by an external data source. - extPutValue: The external theoretical value of a put option, as provided by an external data source. - spotPrice: The current market price of the underlying asset. For indexes this is the cash price. - quoteDate: The date and time at which the market quote used to calculate the SMV (option's greeks, skew, and other related values) was recorded. - updatedAt: The date and time at which the calculation of the option's greeks, skew, and other related values was completed. - snapShotEstTime: The time (EST) at which a one-minute snapshot of the SMV strikes was taken. - snapShotDate: The date and time at which a one-minute snapshot of the SMV strikes was taken. ### Historical Data Pricing Clean, accurate, and easy to use historical data for your options research. #### 1 Minute Intraday Full SMV greeks, theoretical values, and IVs for every minute during the trading day of all US equity options. Over 5,000 symbols included. Recurring data (from today onward): $199/month Subscribe to recurring data. Historical data (from Aug. 2020 - present): $1,500 (one-time) Additional costs apply: S3 storage and transfer fees range from $1-2k. Please research potential costs before subscribing. Includes: - Strikes - Greeks - Theoretical Values - Implied Volatilities - Download via AWS S3 - ~50TB of data Institution pricing available on request. --- ## Dividends Source: https://orats.com/dividends ### Dividends #### A comprehensive dividend data set A daily FTP download service with all expected ex-div dates and forecasted dividend amounts for the next 2.67 years for all stocks with US exchange listed options. ### Get all these files with a Dividends subscription #### Dividends This file lists the closest upcoming dividend ex-dividend date, expected payment amount, and denotes if the data is Estimated ("E"), Acknowledged ("A"), Acknowledged by one or more, but not all sources ("I") or Overridden ("O"). #### Stock Div Forecasts This file compares the computed projected dividend amount against what is being implied in the current options market. If the projected amount is not verified by the current market environment, it is tempered. Furthermore, the forecasts are split-adjusted and are converted to USD in the case when the dividend is expected in a foreign currency. #### Stock Div Hist Growth This file contains ORATS' raw proprietary dividend forecast amounts. The dividend payout amounts in this file are NOT compared to the dividend amount being implied in the current options marketplace. #### Special Dividends This file only contains upcoming confirmed special dividends. Our feed fully conforms to the OCC "12.5" rule on special dividends and includes/excludes dividends in accordance with the rule. ### Our Approach We take the complexity out of dividend forecasting by combining historical patterns, implied dividends, and streaming news to make simple, accurate projections. #### Historical Dividends We offer 14 years of historical forecasts and actual dividends and incorporate dividend trend models to project future dividend streams. #### Seasonal Effects The projected dividend dates and amounts also take into account seasonal irregularities observed in the past. Our dividend consultant analyzes this data and adjusts our calculations to account for any abnormalities. #### Implied Dividends Using our proprietary IV indicators, we compute implied dividends, a calculated estimate of how much a company will pay as a dividend along the entire option expiration calendar. #### Intraday Updates We partnered with top corporate actions provider Wall Street Horizon (https://www.wallstreethorizon.com/dividends), whose algorithms are continuously scanning the news wires and providing ORATS with updated data and fundamental analysis. ### Dividends Pricing Simple and accurate dividends data files for your options research. #### Dividends Simple and accurate dividends data files for your options research. Recurring data (from today onward): $199/month Try 14 days for $29. Historical data (from 2007 - present): $2,000 (one-time) Buy one-time historical data. Includes: - Daily Dividends file - Daily Stock Div Forecasts file - Daily Stock Div Hist Growth file - Daily Special Dividends file - Download via FTP Institution pricing: Institutions and professionals (any use of the data on behalf of a firm or clients, redistribution, or shared access among colleagues) receive a custom quote tailored to their needs. --- ## Hard Drive Delivery Source: https://orats.com/hard-drive-delivery ### Hard Drive Delivery #### Historical Options Data Shipped to Your Door Get up to 39 TB of intraday options history delivered on physical drives within 1-2 weeks. No cloud setup, no transfer fees, no waiting for multi-terabyte downloads. Data license included. ### Comparison: S3 Download vs Hard Drive Delivery | | S3 Download | Hard Drive Delivery | |---|---|---| | AWS account required | Yes | No | | Data transfer cost | ~$2,800 | $0 | | Cloud storage cost | ~$1,200/mo | $0 | ### Data delivery, simplified No AWS account required. No bucket configurations. exFAT formatted USB drives work natively on Windows, macOS, and Linux. Just plug in and start working with your data. #### 1-2 week turnaround Orders are prepared and shipped within 1-2 weeks via insured 2-day courier. Copying multi-terabyte datasets takes time, and we verify every drive before it leaves. #### Verified integrity Every drive ships with SHA256 checksum manifests. If a drive fails in transit, we re-ship a replacement at no cost. #### License included The data license is included in the purchase price. No separate subscription required. #### Ongoing updates 1-minute data grows ~21 GB per trading day. For ongoing delivery, stream live updates via the intraday API or pull daily files from the 1-minute S3 feed. ### Two data products, one delivery Choose from our 1-minute intraday data (Oct 2020 to present) or add the 2-minute archive (2015 through Sep 2020) for the complete history. Both delivered on 3x 20TB USB drives. #### 1-Minute Intraday Full SMV greeks, theoretical values, and IVs for every minute of the trading day. Oct 2020 to present, ~28 TB. Over 5,000 symbols included. #### 2-Minute Archive Historical options data from Jan 2015 through Sep 2020. Fixed dataset at ~11 TB. #### 3x 20TB USB drives 60 TB total capacity per set. Seagate Expansion 20TB drives, shipped with power adapters. #### Gzip CSV format Compressed CSV files organized by date. Same format as our S3 delivery, ready for your existing data pipeline. ### Field Definitions #### 1-Minute Intraday Fields - ticker: The underlying symbol that represents the stock or index on which the option is based. - tradeDate: The date on which the option was traded. - expirDate: The date on which the option expires. - dte: The number of days remaining until the option's expiration date. - strike: The price at which the option can be exercised. - stockPrice: The current price of the underlying stock. For indexes, this is the solved implied futures price for each expiration. - callVolume: The total number of call option contracts traded on a particular day total at the time observed. - callOpenInterest: The total number of outstanding call option contracts updated by OCC the night before. - callBidSize: The number of call option contracts available at the current national best bid and offer (NBBO) bid price. - callAskSize: The number of call option contracts available at the current NBBO ask price. - putVolume: The total number of put option contracts traded on a particular day total at the time observed. - putOpenInterest: The total number of outstanding put option contracts updated by OCC the night before. - putBidSize: The number of put option contracts available at the current NBBO bid price. - putAskSize: The number of put option contracts available at the current NBBO ask price. - callBidPrice: The NBBO price at which a market maker is willing to buy a call option. - callValue: The theoretical value of a call option based on a smooth volatility assumption. - callAskPrice: The NBBO price at which a market maker is willing to sell a call option. - putBidPrice: The NBBO price at which a market maker is willing to buy a put option. - putValue: The theoretical value of a put option based on a smooth volatility assumption. - putAskPrice: The NBBO price at which a market maker is willing to sell a put option. - callBidIv: The implied volatility of a call option at the current NBBO bid price. - callMidIv: The implied volatility of a call option at the midpoint of the current NBBO bid and ask prices. - callAskIv: The implied volatility of a call option at the current NBBO ask price. - smvVol: The smoothed implied volatility of an option based on the ORATS model. - putBidIv: The implied volatility of a put option at the current NBBO bid price. - putMidIv: The implied volatility of a put option at the midpoint of the current NBBO bid and ask prices. - putAskIv: The implied volatility of a put option at the current NBBO ask price. - residualRate: The implied interest rate that is derived from the option pricing model. - delta: The theoretical increase in an option's price due to a one dollar increase in the underlying price. - gamma: The rate of change of an option's delta with respect to a one dollar increase in the price of the underlying asset. - theta: The rate of time decay of an option's value for one day. - vega: The sensitivity of an option's price to a one percent rise in the implied volatility of the option. - rho: The sensitivity of an option's price to a one percent increase in interest rates for the option. - phi: A measure of the convexity of an option's price with respect to changes in the price of the underlying asset. - driftlessTheta: The rate of time decay of an option's value as the expiration date approaches, without taking into account the drift in the price of the underlying asset. - callSmvVol: The smoothed implied volatility of a call option based on the ORATS model. - putSmvVol: The smoothed implied volatility of a put option based on the ORATS model. - extSmvVol: The external implied volatility of the underlying asset, as provided by an external data source. The external data source is from the ORATS forecast volatility. - extCallValue: The external theoretical value of a call option, as provided by an external data source. - extPutValue: The external theoretical value of a put option, as provided by an external data source. - spotPrice: The current market price of the underlying asset. For indexes this is the cash price. - quoteDate: The date and time at which the market quote used to calculate the SMV (option's greeks, skew, and other related values) was recorded. - updatedAt: The date and time at which the calculation of the option's greeks, skew, and other related values was completed. - snapShotEstTime: The time (EST) at which a one-minute snapshot of the SMV strikes was taken. - snapShotDate: The date and time at which a one-minute snapshot of the SMV strikes was taken. #### 2-Minute Archive, Monies Fields - ticker: The underlying symbol that represents the stock or index on which the option is based. - tradeDate: The date on which the option was traded. - expirDate: The date on which the option expires. - stockPrice: The current price of the underlying stock. For indexes, this is the solved implied futures price for each expiration. - riskFreeRate: The continuous risk-free interest rate used to discount cash flows to the option's expiration. - vol100: The implied volatility at the 100-delta call point on the fitted skew curve, corresponding to the deepest in-the-money call. - vol95: The implied volatility at the 95-delta call point on the fitted skew curve, equivalent to a 5-delta put. - vol90: The implied volatility at the 90-delta call point on the fitted skew curve, equivalent to a 10-delta put. - vol85 through vol5: Implied volatilities at the corresponding delta call points on the fitted skew curve. - vol50: The at-the-money implied volatility at the 50-delta point on the fitted skew curve. - vol0: The implied volatility at the 0-delta call point on the fitted skew curve, corresponding to the deepest out-of-the-money call. - quoteDate: The date and time at which the market quote was recorded. - updatedAt: The date and time at which the calculation was completed. - snapShotEstTime: The time of day, in Eastern Time, at which the one-minute intraday snapshot was taken. - snapShotDate: The date and time at which a one-minute snapshot was taken. - expiryTod: The time of day at which the option expires, either "am" (morning settlement) or "pm" (afternoon settlement). - tickerId: An internal ORATS identifier assigned to the underlying ticker. - monthId: An internal ORATS identifier assigned to the option's expiration month. - dte: The number of days remaining until the option's expiration date. #### 2-Minute Archive, Strikes Fields Same fields as the 1-Minute Intraday strikes, with the addition of: - callSmvVol: The smoothed implied volatility of a call option based on the ORATS model, adjusted for the residual interest rate. - putSmvVol: The smoothed implied volatility of a put option based on the ORATS model, adjusted for the residual interest rate. - expiryTod: The time of day at which the option expires, either "am" or "pm". - tickerId: An internal ORATS identifier assigned to the underlying ticker. - monthId: An internal ORATS identifier assigned to the option's expiration month. #### 2-Minute Archive, Summaries Fields - ticker, tradeDate, stockPrice - annActDiv: The annualized actual dividend amount paid by the underlying stock. - annIdiv: The annualized dividend amount implied by put-call parity from option prices. - borrow30: The implied hard-to-borrow interest rate at a 30-day horizon. - borrow2y: The implied hard-to-borrow interest rate at a 2-year horizon. - confidence: A weighted measure of the confidence in the fitted volatility surface across monthly expirations, on a 0-to-1 scale. - exErnIv10d through exErnIv1y: Ex-earnings interpolated ATM implied volatility at 10, 20, 30, 60, 90 calendar days, 6 months, 1 year. - ieeEarnEffect: The implied earnings effect, expressed as a percentage, representing the portion of implied volatility attributed to an upcoming earnings event. - impliedMove: The term-structure implied percentage move in the underlying stock. - impliedNextDiv: The amount of the next dividend payment implied by put-call parity from option prices. - iv10d through iv1y: Interpolated at-the-money implied volatility at 10, 20, 30, 60, 90 calendar days, 6 months, 1 year. - mwAdj30: The market width, expressed in implied volatility terms, at a 30-day horizon. - mwAdj2y: The market width, expressed in implied volatility terms, at a 2-year horizon. - nextDiv: The amount of the next actual dividend payment. - rDrv30 / rDrv2y: The skew curvature (the rate of change of the slope) at 30-day and 2-year horizons. - rSlp30 / rSlp2y: The skew slope at 30-day and 2-year horizons. - rVol30 / rVol2y: The interpolated at-the-money implied volatility at 30-day and 2-year horizons. - rip: A dollar threshold used to exclude low-priced options from delta-weighted volatility calculations. - riskFree30 / riskFree2y: The risk-free interest rate at 30-day and 2-year horizons. - skewing: The adjusted difference between 30-day and 2-year at-the-money implied volatility. - contango: The short-term contango of at-the-money ex-earnings implied volatilities. - totalErrorConf: The total weighted squared fit error multiplied by the confidence measure. - dlt5Iv10d through dlt5Iv1y: Interpolated implied volatility at the 5-delta call point for tenors 10d, 20d, 30d, 60d, 90d, 6m, 1y. - exErnDlt5Iv10d through exErnDlt5Iv1y: Same as above with earnings effect removed. - dlt25Iv10d through dlt25Iv1y: Interpolated implied volatility at the 25-delta call point for tenors 10d through 1y. - exErnDlt25Iv10d through exErnDlt25Iv1y: Same as above with earnings effect removed. - dlt75Iv10d through dlt75Iv1y: Interpolated implied volatility at the 75-delta call point (equivalent to the 25-delta put) for tenors 10d through 1y. - exErnDlt75Iv10d through exErnDlt75Iv1y: Same as above with earnings effect removed. - dlt95Iv10d through dlt95Iv1y: Interpolated implied volatility at the 95-delta call point (equivalent to the 5-delta put) for tenors 10d through 1y. - exErnDlt95Iv10d through exErnDlt95Iv1y: Same as above with earnings effect removed. - fwd30_20 through fwd180_90: Forward implied volatility between various tenor pairs. - fexErn30_20 through fexErn180_90: Forward implied volatility between tenor pairs, with earnings effect removed. - ffwd30_20 through ffwd180_90: Flat-forward implied volatility between various tenor pairs. - ffexErn30_20 through ffexErn180_90: Flat-forward implied volatility between tenor pairs, with earnings effect removed. - fbfwd30_20 through fbfwd180_90: Ratio of flat-forward to forward implied volatility between various tenor pairs. - fbfexErn30_20 through fbfexErn180_90: Ratio of flat-forward to forward implied volatility between tenor pairs, with earnings effect removed. - impliedEarningsMove: The front-month implied percentage move in the underlying stock attributable to the upcoming earnings event. - quoteDate, updatedAt, snapShotEstTime, snapShotDate, tickerId ### Hard Drive Delivery Pricing Historical options data shipped to your door. Data license included. Free shipping to the US and Canada. Shipping to other regions incurs an additional charge. Email support@orats.com for a shipping quote. #### 1-Minute Intraday Full SMV greeks, theoretical values, and IVs for every minute during the trading day. Oct 2020 to present on 3x 20TB USB drives. ~28 TB compressed. Optional add-on: 2-Minute Archive (+$1,000) Historical options data from Jan 2015 through Sep 2020. ~11 TB compressed. Return drives: $2,000 + $1,000 refundable deposit (total upfront: $3,000) Deposit refunded when drives returned within 30 days of delivery. With 2-Minute Archive, Return drives: $3,000 + $1,000 refundable deposit (total upfront: $4,000) Keep drives: $3,000 (1-Minute Intraday only) Keep the 3x 20TB Seagate Expansion drives permanently. No deposit, no return shipping. With 2-Minute Archive, Keep drives: $4,000 Includes (1-Minute Intraday): - Data license included - 1-minute intraday data (Oct 2020 - present) - SHA256 checksum manifests - Free insured shipping to US and Canada - Gzip CSV format - Over 5,000 symbols - Sample data available on request - 1-Minute Intraday README (readme-1min.pdf) Includes (with 2-Minute Archive add-on, additionally): - 2-minute archive data (2015 - Sep 2020) - 2-Minute Archive README (readme-2min.pdf) Institution pricing: Institutions and professionals (any use of the data on behalf of a firm or clients, redistribution, or shared access among colleagues) receive a custom quote tailored to their needs. Contact support@orats.com. --- # API documentation ## API Documentation Source: https://orats.com/docs ### API Documentation The ORATS API is organized around REST. Our API is designed to have predictable, resource-oriented URLs and to use HTTP response codes to indicate API success and errors. You can use our API to access options data in our database. ### Getting started To get started, purchase an API token through our website, then go to your dashboard at https://dashboard.orats.com/api-console to view your token and interact with the endpoints. To access live data, you'll need to sign the agreements at https://dashboard.orats.com/api-console. ### Guides #### Authentication Learn how to authenticate your API requests and connect to live data. #### Errors Read about the different types of errors returned by the API. #### Core Research Study our methods behind developing hundreds of proprietary indicators. #### Definitions Explore verbose definitions for all of our fields across all endpoints. ### Endpoints #### Delayed Data API Get delayed and historical end-of-day options data back to 2007 augmented with hundreds of proprietary indicators. #### Live Data API Access live data for the Data API, calculated in real-time with less than 10 seconds of market delay. #### Delayed Intraday API Get delayed and historical one-minute options data back to August 2020 for over 5,000 symbols. #### Live Intraday API Access live data for the Intraday API, calculated in real-time with less than 10 seconds of market delay. --- ## Authentication Source: https://orats.com/docs/authentication All requests must be sent with a valid token parameter in the URL. You can purchase an API token through our website, then go to your dashboard to view your token. Making your first request: ```bash curl -L "https://api.orats.io/datav2/cores?token=my-token&ticker=AAPL" ``` Always keep your token safe and contact us at support@orats.com if you suspect it has been compromised. Connecting to live data: Live data is calculated in real-time with less than 10 seconds of market delay. To connect to live data, you must sign the agreements at https://dashboard.orats.com/api-console. Once completed, your requests to the live endpoints will no longer be blocked. ```bash curl -L "https://api.orats.io/datav2/live/strikes?token=my-token&ticker=AAPL" ``` Data format: For the Data API, you can get data in JSON or CSV format by passing in the extension of the format type. The default type is JSON. Requests to the Intraday Data API will always return a CSV response. ```bash curl -L "https://api.orats.io/datav2/cores.csv?token=my-token&ticker=AAPL" ``` --- ## Core Research Source: https://orats.com/docs/core-research ### Core Research ### Executive Summary Option Research and Technology Services (ORATS), established in 2001, provides US equity options data designed by successful options traders. ORATS proprietary data including implied summarizations and historical volatility readings, have been shown in backtesting to be important predictors of profitable trading strategies. Component weighted averages, forward and flat volatilities, contango, and constant maturity implied volatilities at various deltas set ORATS data apart. ### Volatility Research Our proprietary historical volatilities are calculated from intraday data market information and produce more accurate daily volatilities than traditional methods like close-to-close. From these accurate volatilities, we produce effective forecasts of volatility and other useful datasets. The ORATS implied volatility summarization technique produces an accurate smoothed market value curve. This single line fits between the calls and puts bid-ask at a high rate. These volatilities create high-quality options Greeks like delta, vega, gamma, and theta. These data points are especially useful in backtesting where accuracy is important. Our method of summarizing the implied volatility surface allows simplification of strike relationships to a few factors. These factors are comparable over time and across related equities and produce an effective forecasted volatility surface. ### Asset Coverage ORATS covers all US equity options including stocks, ETFs, and indexes--over 4000 tickers. Also included are component weighted averages for the major indexes and ETFs, over 30 more tickers delineated with an underscore C added to the ticker, i.e. NDX_C and IWM_C. These component tickers provide difficult to come by historical weighed averages each data set in Exhibit A and Exhibit B. Here is a list of the indexes and ETFs: ALL_C, DIA_C, DJX_C, GDX_C, IBB_C, IGN_C, ITB_C, IWM_C, IYR_C, KBE_C, KRE_C, MDY_C, NDX_C, NQX_C, OIH_C, QQQ_C, RUT_C, SMH_C, SPX_C, SPY_C, XBI_C, XHB_C, XLB_C, XLC_C, XLE_C, XLF_C, XLI_C, XLK_C, XLP_C, XLRE_C, XLU_C, XLV_C, XLY_C, XOP_C, XSP_C ### Historical Volatility Research In addition to offering traditional close-to-close realized volatility computations, we offer a second way to view historical volatility. Our proprietary historical volatilities are calculated from intraday open-high-low-close stock price market information and produce more accurate daily volatilities than traditional methods like close-to-close. Related Data Point(s): orHv1d, orHv5d, clsHv5d ### Ex-Earnings Historical Volatility Close-to-close and ORATS historical volatilities are also presented with the day of and day after earnings taken out of the calculation. These calculations are important as they can be compared over time or when analyzing a non-earnings expiration. Related Data Point(s): orHvXern5d, clsHvXern5d ### Implied Volatility The ORATS implied volatility summarization technique produces an accurate smoothed market value curve. This single line fits between the calls and puts bid-ask at a high rate. Our method of summarizing the implied volatility surface allows simplification of strike relationships to a few factors, at-the-money implied volatility readings, constant maturity readings ie 30 days, slope of the strike implied volatility skew and curvature of that skew. These factors are comparable over time and across related equities and produce an effective forecasted volatility surface. ORATS presents the implied volatility and forecasts for the first four months with standard expirations on the third Friday of the month. Seeing all standard options expirations allows for assessment of the implied volatility across assets and against monthly forecasts. Related Data Point(s): atmIvM1, atmIvM2 ### Interpolated Implied Volatility The constant maturity implied volatility is calculated by measuring the two expirations around the day to be measured. ORATS presents the 30, 60, 90 days, 6 months and 1 year interpolated implied volatility. Related Data Point(s): iv20d, iv30d ### Interpolated Implied Volatilities At Various Deltas ORATS presents the constant maturity implied volatilities at various delta levels in addition to at-the-money 50 delta: The 5, 25, 75 and 95 call delta IVs are also presented. Related Data Point(s): vol5, vol25, vol50 ### Constant Maturity Ex-Earnings Implied Volatility and Earnings Effects The most important measurements are constant maturity implied volatilities, and especially with earnings effects taken out of the implied volatility. As a result of our accurate implied volatilities and sophisticated methods of term structure modeling, ORATS determines the additionally implied volatilities in the expiration months that are affected by earnings announcements, what we call the Implied Earnings Move. Implied earnings moves are taken out of the implied volatility term structure by solving for the resulting ex-earnings implied skew versus a rational implied volatility term structure model. Related Data Point(s): orIvXern20d, orIvXernInf ### Earnings Moves Studies The Implied Earnings Moves can be compared to the average absolute actual earnings moves in a stock. This simple earn move calculation is the absolute value of the last twelve percentage moves in the stock after an earnings announcement. Related Data Points(s): ernMv1, ernMv2, impErnMv ### Implied Earnings Effects vs. Forecasted Earnings Effects Once we defined a smooth surface across time to expiration and delta, we were then ready to utilize the earnings event studies of historical volatility to produce Forecasted Earnings Effects. As a result of our research, we utilize actual stock moves on earnings announcement dates to make a forecast of future moves. As a result of our accurate implied volatilities and sophisticated methods of term structure modeling, ORATS determines the additionally implied volatilities in the expiration months that are affected by earnings announcements, what we call the Implied Earnings Effects. The months that are affected by earnings announcements are those that have an expiration date after the upcoming expected earnings announcement date. With a forecast earnings announcement effect and simple variance math, we can make the correct adjustments to the implied volatility surface. In most cases, the implied volatility is increased in the months that are affected by earnings announcements since most equities are more volatile on the days surrounding an earnings announcement than would otherwise be expected. Twelve historical earnings effects are presented. Related Data Point(s): impliedEe, impErnMv ### Earnings Event Studies One of the other uses for this accurate volatility measure is studying a predictable event's effect. One study we perform measures the effect of periodic earnings announcements on volatility. Once the effect is measured, it can be forecast and thus, priced into the theoretical values for the expiration months it affects. This simple earn move calculation is the percentage move. The earnings effect calculation assesses the move of the stock price on announcement day regarding the percentage of market expectation of a normal move on a day without earnings. Related Data Point(s): ernEffct1, ernMv1, absAvgErnMv ### Implied Volatility Surface ORATS describes the implied volatility surface as a 3-dimensional surface where the independent variables are time to expiration, and option delta and the dependent variable is implied volatility. To illustrate an implied volatility surface, we have developed a 2-dimensional graph that displays all three axes in the figure below. Summary information about this surface gives the trader a macro view of the implied volatilities for each option chain. ORATS takes a snapshot of all options on all symbols approximately 14 minutes before the close of trading. Options markets from this time are often of higher quality than at the close. ORATS measures the surface using the following summary characteristics: at-the-money volatility, strike slope, and derivative (curvature). ### The "Smile" At-the-money volatility is the implied volatility at the 50 delta call and put. Strike Slope is a measure of the amount that implied volatility changes for every increase of 10 call delta points within the intra-month skew. It measures how lopsided the 'smile' or 'smirk' is. The derivative is a measure of the rate at which the strike slope changes for every increase of 10 call delta points within the intra-month skew. It measures the curvature of the intra-month skew or 'smile.' We chose just two parameters to describe the skew to get a reasonable fit for the fewest assumptions. Using this method of describing the skew has the additional benefit of producing accurate at-the-money volatility readings important for summarizing the term structure. Related Data Point(s): slope, slopeInf, deriv, derivInf ### Forecasting the Implied Volatility Surface These sophisticated methods of summarizing and manipulating the implied volatility surface allow us to compare summary characteristics across related equities and over time. These observations are then used in volatility forecasting models. In options trading, to find an edge, it is useful to compare implied volatility surface parameters and market values to forecasted parameters and to theoretical values computed using these parameters. Related Data Point(s): orFcst20d, orIvFcst20d, orFcstInf, slopeFcst, slopeFcstInf, derivFcst, derivFcstInf, fcstR2, fcstR2Imp, impliedR2 ### Advanced: Calculating an Implied Volatility for Each Strike Given the at-the-money implied volatility, the slope and the derivative, an implied volatility can be calculated for each strike. First, a call delta is calculated for the strike using a standard option pricing model (not provided). Second, the slope and derivative for the expiration is calculated given the interpolated slope and derivative for that expiration. Third, the implied volatility formula is used to determine the strike implied. Formula: Atmiv*(1+(slope/1000+(deriv/1000*(delta*100-50)/2))*(delta*100-50)) For example, assume the following: | Field | Value | |-------|-------| | atmIvM1 | 30 | | slope | 1 | | deriv | 0.1 | | delta | 0.75 | | dte | 30 | Since we are finding the month 1 volatility the 30 day slope and derivative can be used: 30*(1+(1/1000+(0.1/1000*(0.75*100-50)/2))*(0.75*100-50)) = 31.688 Example 2, assume: | Field | Value | |-------|-------| | 30dayatmiv | 32 | | infiniteATMIV | 28 | | slope | 1 | | deriv | 0.08 | | slopeInf | 2 | | derivInf | 0.1 | | delta | 0.25 | | dte | 90 | In this example we first need to interpolate the IV, slope and derivative between the 30 day and in the infinite. This is done by weighting the 30day * 81% and the infinite 19% (see below). IV = 0.81 * 32 + 0.19 * 28 = 31.26 Slope = 0.81 * 1 + 0.19 * 2 = 1.19 Derivative = 0.81 * 0.1 + 0.19 * 0.08 = 0.084 Implied volatility at 25 delta: 31.26*(1+(1.19/1000+(0.084/1000*(0.25*100-50)/2))*(0.25*100-50))=31.15 NEW - Finding the interpolation weightings between the 30 day and in the infinite: The weightings are found by first calculating the target days difference between the 30 day and 2 year (used for infinite days to expiration). For DTE < 30 us the 30 day reading. For DTE > 730 (2*365) us the infinite reading alone. For those DTE between 30 and 730 use the following method: 1. Calculate the square roots for 30 days, 730 days and the target date, here 90 days. 2. Total the absolute difference between square roots of the target DTE and 30 and 730. 3. The weighting for each is the complement of the difference divided by the total error. | | DTE | Sqrt | Errors | Weight | |---|---|---|---|---| | Target | 90 | 9.49 | | | | 30 DTE | 30 | 5.48 | 4.01 | 0.81 | | Infinite | 720 | 27.02 | 17.53 | 0.19 | | Total Errors | | | 21.54 | | In the example of finding the weights for 90 DTE: 1. The square root of 90 is 9.49, of 30 is 5.48 and of 730 is 27.02. 2. The total errors is (9.49-5.48)=4.01 plus (27.02-9.49)=17.53 total is 21.54. 3. The complement for the 30 day is 17.53/21.54=.81 and the infinite is .19 Thus to find a weighted 30 day and in the infinite, multiply each reading by the above ratios. ### Assessing the First Earnings Month's IV The first expiration after the earnings announcement is the most important for earnings traders. ORATS identifies the implied volatility of the first expiration and compares this to the following two IVs to assess under or overvalued. 1. Ex-earnings implied volatility of the first expiration after earnings plus the implied earnings effect and 2. The term structure of ATM IV are simultaneously solved with a short term and long term points, earnings effect added to months after earnings announcements, and a 45-day additional adjustment. After the term solve, the additional earnings effect on the months after earnings announcement are displayed. Related Data Point(s): fairVol90d, fairXieeVol90d, fairMth2XieeVol90d, impErnMv90d, impErnMvMth290d ### The Rip Value When on the floor Matt Amberson noticed experienced traders paying more than theoretical value for certain low priced options. Also, these traders would not hedge all the theoretical deltas from these options. The options seemed to have a low price but would vary between stocks. I set out to define what this level was and the result was the Rip Value. The Rip Value is the value where traders would start to pay more for options and also start to take deltas out of their positions. ORATS uses the Rip for these two methods and also as a trigger to exit options in the backtesting platform. The specific formula and implementation techniques can be had by contacting matt@orats.com. Related Data Point(s): rip ### Correlation to SPY and ETF ORATS presents the correlation to the SPY and the related ETF for one month and one year. Related Data Point(s): correlSpy1m, correlSpy1y, correlEtf1m, correlEtf1y ### Beta to SPY ORATS presents the traditional beta calculation of the stock to the SPY for one year. Related Data Point(s): beta1m, beta1y ### Percentile Analysis It is useful to see where the current reading of a variable is in relation to a time series of observations. The percentile takes all the observations, sorts them, and makes an assessment of where the current reading is on that list. To calculate percentile, you sort the list of numbers. Then you find the number in question from the list and take that index and divided by the length of the list. So an example of getting the current percentile of IV = 15 from the list of [8,15,12,10,6,20,25,30]. Sort the list [6,8,10,12,15,20,25,30]. Find the index number IV= 15 in the list, which is 5th index. The percentile = 5 / 8 = 62.5% Related Data Point(s): ivPctile1m, ivPctile1y, ivPctileSpy, ivPctileEtf ### IV Ratios to SPY and ETF It is useful to monitor the ratio of the stock implied volatility to the SPY and related ETF. ORATS presents the ratio and the average of the ratio over time and the standard deviation of the ratio. Related Data Point(s): ivSpyRatio, ivSpyRatioAvg1m, ivSpyRatioAvg1y, ivSpyRatioStdv1y, ivEtfRatio, ivEtfRatioAvg1m, ivEtfRatioAvg1y, ivEtFratioStdv1y ### IV HV Ratios Another important indicator is how the implied volatility is trading in relation to the historical volatility. It is useful to compare that ratio to the related ETF ratio to see if the ratio is high or low. Related Data Point(s): ivHvXernRatio, ivHvXernRatio1m, ivHvXernRatio1y, ivHvXernRatioStdv1y, etfIvHvXernRatio, etfIvHvXernRatio1m, etfIvHvXernRatio1y, etfIvHvXernRatioStdv1y ### Residual Measurements from Put Call Parity ORATS measurements of implied volatility include equating the call and put implied volatilities by solving for residual yield. Options pricing formulas use a risk-free yield and a dividend yield to produce a theoretical option value. ORATS holds the other inputs in the pricing formula and solves for the residual yield, the remaining yield after interest and dividends. Deconstructing residual yield produces approximations of the implied dividends and the implied borrow rate in market options prices. Related Data Point(s): impliedNextDiv, annActDiv, annIdiv, error, confidence ### Borrow Rate This observation is calculated by averaging the following calculation performed for each strike that is traded for a specific underlying asset: Average of the call market bid ask prices minus the call theoretical value plus the average of the put market bid ask prices minus the put theoretical value. Theoretical values are computed using the following inputs: publicly announced inputs for interest and dividends; and volatility based on the implied volatility of the average of the market bid ask prices. Higher values for Borrow indicate that the option prices are implying that any or all of the following inputs are different than what is expected: interest, dividends, and hedge price. Related Data Point(s): borrow30, borrow2yr ### Earnings Announcement Historical Dates and Moves ORATS presents the past 12 earnings dates and earnings information. Related Data Point(s): ernDate1, ernDate2, ernDate3, ernDate12 ### Current Straddle Pricing ORATS presents the current straddle pricing from the at-the-money options along with the strike used in pricing, and the theoretical prices from smoothed and forecasted volatility surfaces. As earnings announcement date nears, the current prices can be compared to historical dates the day before earnings. Related Data Point(s): ernStraPct1, straPxM1, smoothStraPxM1, fcstStraPxM1, loStrikeM1 ### Forward Implied Volatility The forward volatility is a measure of the implied volatility over a period in the future extracted from IV at the beginning of that period and the end of that period. ORATS calculates forwards using the neighboring constant maturity implied volatilities 20, 30, 60, 90 and 180 days and the 30 to 90 day period. Related Data Point(s): fwd30_20, fwd60_30 ### Flat Forward Implied Volatility The flat forward volatility is a measure of the implied volatility over a period in the future using theoretical pricing relationships from IV at the beginning of that period and the end of that period. ORATS calculates flat forwards using the neighboring constant maturity implied volatilities 20, 30, 60, 90 and 180 days and the 30 to 90 day period. Related Data Point(s): ffwd30_20, ffwd60_30 ### Flat Forward Divided by Forward Implied Volatility The flat forward volatility divided by the forward volatility can produce meaningful signals on future volatility behavior of the underlying instrument based on IV levels of the term structure. ORATS calculates flat forwards divided by forwards using on the neighboring constant maturity implied volatilities 20, 30, 60, 90 and 180 days and the 30 to 90 day period. Related Data Point(s): fbfwd30_20, fbfwd60_30 ### Ex-Earnings Forward Implied Volatility The forward volatility is a measure of the implied ex-earnings volatility over a period in the future extracted from IV at the beginning of that period and the end of that period. ORATS calculates forwards using the neighboring constant maturity implied ex-earnings volatilities 20, 30, 60, 90 and 180 days and the 30 to 90 day period. Related Data Point(s): fexErn30_20, fexErn60_30 ### Ex-Earnings Flat Forward Implied Volatility The flat forward ex-earnings volatility is a measure of the implied ex-earnings volatility over a period in the future using theoretical pricing relationships from IV at the beginning of that period and the end of that period. ORATS calculates flat forwards using the neighboring constant maturity implied ex-earnings volatilities 20, 30, 60, 90 and 180 days and the 30 to 90 day period. Related Data Point(s): ffexErn30_20-20, ffexErn60_30 ### Ex-Earnings Flat Forward Divided by Forward Implied Volatility The flat forward ex-earnings volatility divided by the forward ex-earnings volatility can produce meaningful signals on future ex-earnings volatility behavior of the underlying instrument based on IV levels of the term structure. ORATS calculates flat forwards divided by forwards using on the neighboring constant maturity implied ex-earnings volatilities 20, 30, 60, 90 and 180 days and the 30 to 90 day period. Related Data Point(s): fbfexErn30_20, fbfexErn60_30 ### Other Research It is often useful to eliminate potential and actual takeover targets from scanning and research. ORATS has methods for identifying potential targets and makes assessments whether it would serve our customers to include these stocks in the list. When identifying stocks on which to trade options, it is often important to consider liquidity. ORATS calculates the average option volume over the last 20 days. Related Data Point(s): avgOptVolu20d, tkOver --- ## Definitions Source: https://orats.com/docs/definitions ### Definitions The following field definitions are organized by API endpoint. Because some fields are present in multiple endpoints, you may see the same definition twice. The fields may have different names because they are in different endpoints, but the definitions are still correct. ### Strikes | Field | Definition | |-------|------------| | ticker | underlying symbol | | tradeDate | trade date | | expirDate | expiration date | | dte | days to expiration | | strike | option strike | | stockPrice | stock price | | callVolume | call option volume | | callOpenInterest | call open interest | | callBidSize | call bid size | | callAskSize | call ask size | | putVolume | put option volume | | putOpenInterest | put open interest | | putBidSize | put bid size | | putAskSize | put ask size | | callBidPrice | call bid price | | callValue | call theoretical value based on smooth volatility | | callAskPrice | call ask price | | putBidPrice | put bid price | | putValue | put theoretical value | | putAskPrice | put ask price | | callBidIv | call bid implied volatility | | callMidIv | call mid implied volatility | | callAskIv | call ask implied volatility | | smvVol | ORATS final implied Volatility | | putBidIv | put bid implied volatility | | putMidIv | put mid implied volatility | | putAskIv | put ask implied volatility | | residualRate | implied interest rate data | | delta | delta | | gamma | gamma | | theta | theta | | vega | vega | | rho | rho | | phi | phi | | driftlessTheta | time decay without taking in drift in underlying | | extSmvVol | external volatility | | extCallValue | external call theoretical price | | extPutValue | external put theoretical price | | spotPrice | spot price of the index | | updatedAt | date and time of data updated | ### Monies Implied | Field | Definition | |-------|------------| | ticker | underlying symbol | | tradeDate | trade date | | expirDate | expiration date | | stockPrice | stock price | | riskFreeRate | continuous interest (risk-free) rate | | yieldRate | continuous dividend yield of discrete dividend's NPV | | residualYieldRate | adjustment amount for the dividend yield at the .50 call delta -0.055 Implied rate means -5.5%. | | residualRateSlp | slope of the residual rate linear regression. A particular call delta total div yield = div yield + (cdelta - .5) * slope. | | residualR2 | r^2 of the residual rate linear regression | | confidence | portion of the delta range "covered" by market data (dependent on the "width") | | mwVol | ATM weighted market width in implied volatility terms | | vol100 | seed volatility at the 100 call delta | | vol95 | seed volatility at the 95 call delta | | vol90 | seed volatility at the 90 call delta | | vol85 | seed volatility at the 85 call delta | | vol80 | seed volatility at the 80 call delta | | vol75 | seed volatility at the 75 call delta | | vol70 | seed volatility at the 70 call delta | | vol65 | seed volatility at the 65 call delta | | vol60 | seed volatility at the 60 call delta | | vol55 | seed volatility at the 55 call delta | | vol50 | seed volatility at the 50 call delta | | vol45 | seed volatility at the 45 call delta | | vol40 | seed volatility at the 40 call delta | | vol35 | seed volatility at the 35 call delta | | vol30 | seed volatility at the 30 call delta | | vol25 | seed volatility at the 25 call delta | | vol20 | seed volatility at the 20 call delta | | vol15 | seed volatility at the 15 call delta | | vol10 | seed volatility at the 10 call delta | | vol5 | seed volatility at the 5 call delta | | vol0 | seed volatility at the 0 call delta | | atmiv | implied volatility for month 1 | | slope | best-fit regression line through the strike. volatilities adjusted to the tangent slope at the 50 delta. | | deriv | derivative or curvature of the monthly strikes at 28 day interpolated | | fit | the at the money monthly fit volatility | | spotPrice | spot price of the index | | calVol | smoothed at-the-money term structure implied volatility | | unadjVol | smoothed at-the-money term structure implied volatility taking out the earnings effect | | earnEffect | market implied earnings effect | | updatedAt | date and time of data updated | ### Monies Forecast | Field | Definition | |-------|------------| | ticker | underlying symbol | | tradeDate | trade date | | expirDate | expiration date | | stockPrice | stock price | | riskFreeRate | continuous interest (risk-free) rate | | vol100 | seed volatility at the 100 call delta | | vol95 | seed volatility at the 95 call delta | | vol90 | seed volatility at the 90 call delta | | vol85 | seed volatility at the 85 call delta | | vol80 | seed volatility at the 80 call delta | | vol75 | seed volatility at the 75 call delta | | vol70 | seed volatility at the 70 call delta | | vol65 | seed volatility at the 65 call delta | | vol60 | seed volatility at the 60 call delta | | vol55 | seed volatility at the 55 call delta | | vol50 | seed volatility at the 50 call delta | | vol45 | seed volatility at the 45 call delta | | vol40 | seed volatility at the 40 call delta | | vol35 | seed volatility at the 35 call delta | | vol30 | seed volatility at the 30 call delta | | vol25 | seed volatility at the 25 call delta | | vol20 | seed volatility at the 20 call delta | | vol15 | seed volatility at the 15 call delta | | vol10 | seed volatility at the 10 call delta | | vol5 | seed volatility at the 5 call delta | | vol0 | seed volatility at the 0 call delta | | updatedAt | date and time of data updated | ### Summaries | Field | Definition | |-------|------------| | ticker | underlying symbol | | tradeDate | trade date | | stockPrice | stock price | | annActDiv | annual dividend from the next year of expected dividends | | annIdiv | annual implied dividend given options prices put call parity | | borrow30 | implied hard-to-borrow interest rate at 30 days to expiration given options prices put call parity | | borrow2y | implied hard-to-borrow interest rate at two years to expiration given options prices put call parity | | confidence | total weighted confidence from the monthly implied volatilities derived from each month's number of options and bid ask width of the options markets | | exErnIv10d | implied 10 calendar day interpolated implied volatility with earnings effect out | | exErnIv20d | implied 20 calendar day interpolated implied volatility with earnings effect out | | exErnIv30d | implied 30 calendar day interpolated implied volatility with earnings effect out | | exErnIv60d | implied 60 calendar day interpolated implied volatility with earnings effect out | | exErnIv90d | implied 90 calendar day interpolated implied volatility with earnings effect out | | exErnIv6m | implied 6 month interpolated implied volatility with earnings effect out | | exErnIv1y | implied one year interpolated implied volatility with earnings effect out | | ieeEarnEffect | implied earnings effect (percentage of expected normal move) to make the best-fit term structure of the month implied volatilities | | impliedMove | percentage stock move in the implied earnings effect to make the best-fit term structure of the month implied volatilities | | impliedNextDiv | next implied dividend given options prices put call parity | | iv10d | 10 calendar day interpolated implied volatility | | iv20d | 20 calendar day interpolated implied volatility | | iv30d | 30 calendar day interpolated implied volatility | | iv60d | 60 calendar day interpolated implied volatility | | iv90d | 90 calendar day interpolated implied volatility | | iv6m | 6 month interpolated implied volatility | | iv1y | one year interpolated implied volatility | | mwAdj30 | ATM weighted market width in implied volatility terms interpolated to 30 calendar days to expiration | | mwAdj2y | ATM weighted market width in implied volatility terms interpolated to 2 years to expiration | | nextDiv | next dividend amount | | rDrv30 | derivative or curvature of the monthly strikes at 30 day interpolated. The derivative is the change in the slope for every 10 delta increase in the call delta | | rDrv2y | derivative infinite implied | | rSlp30 | best-fit regression line through the strike volatilities adjusted to the tangent slope at the 50 delta. The slope is the change in the implied volatility for every 10 delta increase in the call delta | | rSlp2y | implied infinite slope | | rVol30 | implied volatility at 30 days interpolated | | rVol2y | implied volatility at 2 year interpolated | | rip | dollar amount of options to start ignoring in delta calculation | | riskFree30 | continuous interest (risk-free) rate interpolated to 30 calendar days to expiration | | riskFree2y | continuous interest (risk-free) rate interpolated to 2 years to expiration | | skewing | Skewing is the difference between rVol30 and adjusted rVol2y where sqrtMinDays is 45 * 0.5. ((rVol30 - rVol2y * (1 - 1/sqrtMinDays)) * sqrtMinDays) | | contango | short-term contango of at-the-money implied volatilities ex-earnings | | totalErrorConf | total weighted squared error times the confidence in the monthly implied volatility | | dlt5Iv10d | 10 calendar day interpolated implied volatility at the 5 delta | | dlt5Iv20d | 20 calendar day interpolated implied volatility at the 5 delta | | dlt5Iv30d | 30 calendar day interpolated implied volatility at the 5 delta | | dlt5Iv60d | 60 calendar day interpolated implied volatility at the 5 delta | | dlt5Iv90d | 90 calendar day interpolated implied volatility at the 5 delta | | dlt5Iv6m | 180 calendar day interpolated implied volatility at the 5 delta | | dlt5Iv1y | 365 calendar day interpolated implied volatility at the 5 delta | | exErnDlt5Iv10d | 10 calendar day interpolated implied volatility at the 5 delta with earnings effects removed | | exErnDlt5Iv20d | 20 calendar day interpolated implied volatility at the 5 delta with earnings effects removed | | exErnDlt5Iv30d | 30 calendar day interpolated implied volatility at the 5 delta with earnings effects removed | | exErnDlt5Iv60d | 60 calendar day interpolated implied volatility at the 5 delta with earnings effects removed | | exErnDlt5Iv90d | 90 calendar day interpolated implied volatility at the 5 delta with earnings effects removed | | exErnDlt5Iv6m | 180 calendar day interpolated implied volatility at the 5 delta with earnings effects removed | | exErnDlt5Iv1y | 365 calendar day interpolated implied volatility at the 5 delta with earnings effects removed | | dlt25Iv10d | 10 calendar day interpolated implied volatility at the 25 delta | | dlt25Iv20d | 20 calendar day interpolated implied volatility at the 25 delta | | dlt25Iv30d | 30 calendar day interpolated implied volatility at the 25 delta | | dlt25Iv60d | 60 calendar day interpolated implied volatility at the 25 delta | | dlt25Iv90d | 90 calendar day interpolated implied volatility at the 25 delta | | dlt25Iv6m | 180 calendar day interpolated implied volatility at the 25 delta | | dlt25Iv1y | 365 calendar day interpolated implied volatility at the 25 delta | | exErnDlt25Iv10d | 10 calendar day interpolated implied volatility at the 25 delta with earnings effects removed | | exErnDlt25Iv20d | 20 calendar day interpolated implied volatility at the 25 delta with earnings effects removed | | exErnDlt25Iv30d | 30 calendar day interpolated implied volatility at the 25 delta with earnings effects removed | | exErnDlt25Iv60d | 60 calendar day interpolated implied volatility at the 25 delta with earnings effects removed | | exErnDlt25Iv90d | 90 calendar day interpolated implied volatility at the 25 delta with earnings effects removed | | exErnDlt25Iv6m | 180 calendar day interpolated implied volatility at the 25 delta with earnings effects removed | | exErnDlt25Iv1y | 365 calendar day interpolated implied volatility at the 25 delta with earnings effects removed | | dlt75Iv10d | 10 calendar day interpolated implied volatility at the 75 delta | | dlt75Iv20d | 20 calendar day interpolated implied volatility at the 75 delta | | dlt75Iv30d | 30 calendar day interpolated implied volatility at the 75 delta | | dlt75Iv60d | 60 calendar day interpolated implied volatility at the 75 delta | | dlt75Iv90d | 90 calendar day interpolated implied volatility at the 75 delta | | dlt75Iv6m | 180 calendar day interpolated implied volatility at the 75 delta | | dlt75Iv1y | 365 calendar day interpolated implied volatility at the 75 delta | | exErnDlt75Iv10d | 10 calendar day interpolated implied volatility at the 75 delta with earnings effects removed | | exErnDlt75Iv20d | 20 calendar day interpolated implied volatility at the 75 delta with earnings effects removed | | exErnDlt75Iv30d | 30 calendar day interpolated implied volatility at the 75 delta with earnings effects removed | | exErnDlt75Iv60d | 40 calendar day interpolated implied volatility at the 75 delta with earnings effects removed | | exErnDlt75Iv90d | 50 calendar day interpolated implied volatility at the 75 delta with earnings effects removed | | exErnDlt75Iv6m | 180 calendar day interpolated implied volatility at the 75 delta with earnings effects removed | | exErnDlt75Iv1y | 365 calendar day interpolated implied volatility at the 75 delta with earnings effects removed | | dlt95Iv10d | 10 calendar day interpolated implied volatility at the 95 delta | | dlt95Iv20d | 20 calendar day interpolated implied volatility at the 95 delta | | dlt95Iv30d | 30 calendar day interpolated implied volatility at the 95 delta | | dlt95Iv60d | 60 calendar day interpolated implied volatility at the 95 delta | | dlt95Iv90d | 90 calendar day interpolated implied volatility at the 95 delta | | dlt95Iv6m | 180 calendar day interpolated implied volatility at the 95 delta | | dlt95Iv1y | 365 calendar day interpolated implied volatility at the 95 delta | | exErnDlt95Iv10d | 10 calendar day interpolated implied volatility at the 95 delta with earnings effects removed | | exErnDlt95Iv20d | 20 calendar day interpolated implied volatility at the 95 delta with earnings effects removed | | exErnDlt95Iv30d | 30 calendar day interpolated implied volatility at the 95 delta with earnings effects removed | | exErnDlt95Iv60d | 60 calendar day interpolated implied volatility at the 95 delta with earnings effects removed | | exErnDlt95Iv90d | 90 calendar day interpolated implied volatility at the 95 delta with earnings effects removed | | exErnDlt95Iv6m | 180 calendar day interpolated implied volatility at the 95 delta with earnings effects removed | | exErnDlt95Iv1y | 365 calendar day interpolated implied volatility at the 95 delta with earnings effects removed | | fwd30_20 | The forward volatility extracted from the 30 day and 20 day implied volatility | | fwd60_30 | The forward volatility extracted from the 60 day and 30 day implied volatility | | fwd90_60 | The forward volatility extracted from the 90 day and 60 day implied volatility | | fwd180_90 | The forward volatility extracted from the 180 day and 90 day implied volatility | | fwd90_30 | The forward volatility extracted from the 90 day and 30 day implied volatility | | fexErn30_20 | The forward ex-earnings volatility extracted from the 30 day and 20 day implied ex-earnings volatility | | fexErn60_30 | The forward ex-earnings volatility extracted from the 60 day and 30 day implied ex-earnings volatility | | fexErn90_60 | The forward ex-earnings volatility extracted from the 90 day and 60 day implied ex-earnings volatility | | fexErn180_90 | The forward ex-earnings volatility extracted from the 180 day and 90 day implied ex-earnings volatility | | fexErn90_30 | The forward ex-earnings volatility extracted from the 90 day and 30 day implied ex-earnings volatility | | ffwd30_20 | The flat forward volatility extracted from the 30 day and 20 day implied volatility | | ffwd60_30 | The flat forward volatility extracted from the 60 day and 30 day implied volatility | | ffwd90_60 | The flat forward volatility extracted from the 90 day and 60 day implied volatility | | ffwd180_90 | The flat forward volatility extracted from the 180 day and 90 day implied volatility | | ffwd90_30 | The flat forward volatility extracted from the 90 day and 30 day implied volatility | | ffexErn30_20 | The flat forward ex-earnings volatility extracted from the 30 day and 20 day implied ex-earnings volatility | | ffexErn60_30 | The flat forward ex-earnings volatility extracted from the 60 day and 30 day implied ex-earnings volatility | | ffexErn90_60 | The flat forward ex-earnings volatility extracted from the 90 day and 60 day implied ex-earnings volatility | | ffexErn180_90 | The flat forward ex-earnings volatility extracted from the 180 day and 90 day implied ex-earnings volatility | | ffexErn90_30 | The flat forward ex-earnings volatility extracted from the 90 day and 30 day implied ex-earnings volatility | | fbfwd30_20 | The flat forward volatility divided by the forward volatility both extracted from the 30 day and 20 day implied volatility | | fbfwd60_30 | The flat forward volatility divided by the forward volatility both extracted from the 60 day and 30 day implied volatility | | fbfwd90_60 | The flat forward volatility divided by the forward volatility both extracted from the 90 day and 60 day implied volatility | | fbfwd180_90 | The flat forward volatility divided by the forward volatility both extracted from the 180 day and 90 day implied volatility | | fbfwd90_30 | The flat forward volatility divided by the forward volatility both extracted from the 90 day and 30 day implied volatility | | fbfexErn30_20 | The flat forward ex-earnings volatility divided by the forward ex-earnings volatility both extracted from the 30 day and 20 day implied ex-earnings volatility | | fbfexErn60_30 | The flat forward ex-earnings volatility divided by the forward ex-earnings volatility both extracted from the 60 day and 30 day implied ex-earnings volatility | | fbfexErn90_60 | The flat forward ex-earnings volatility divided by the forward ex-earnings volatility both extracted from the 90 day and 60 day implied ex-earnings volatility | | fbfexErn180_90 | The flat forward ex-earnings volatility divided by the forward ex-earnings volatility both extracted from the 180 day and 90 day implied ex-earnings volatility | | fbfexErn90_30 | The flat forward ex-earnings volatility divided by the forward ex-earnings volatility both extracted from the 90 day and 30 day implied ex-earnings volatility | | impliedEarningsMove | percentage stock move in the implied earnings effect to make the best-fit term structure of the month implied volatilities | | updatedAt | date and time of data updated | ### Cores | Field | Definition | |-------|------------| | ticker | underlying symbol | | tradeDate | trade date | | assetType | characterizes stock as easy-to-borrow (ETB), hard-to-borrow (HTB), dividend paying, stock ETF or Index with these codes: 0 - ETB_NO_DIV 1 - HTB 2 - HTB_DIV_PAYING 3 - ETB_DIV_PAYING 4 - INDEX 5 - ETF 6 - VIX_STYLE_EX 7 - ETF_QDIV_ON_EX 8 - ETF_MDIV_ON_EX 9 - INDEX_AMER_EX | | priorCls | closing price on the prior trading day | | pxAtmIv | stock price taken at time of IV calculation | | mktCap | market capitalization (shares outstanding * stock price) (in 000s) | | cVolu | today's call option volume for all strikes for the current trading day | | cOi | total call open interest | | pVolu | today's put option volume for all strikes | | pOi | total put open interest | | orFcst20d | ORATS forecast of stock volatility for the next 20 days based on data with earnings taken out | | orIvFcst20d | ORATS forecast of implied volatility in 20 days with earnings taken out | | orFcstInf | ORATS forecast of the infinite implied volatility | | orIvXern20d | 20 business day interpolated implied option volatility with earnings effect taken out (orIvXern) | | orIvXernInf | ORATS long term implied volatility parameter solve of term structure at 2 year out with 30 calendar day parameter and earnings effect out | | iv200Ma | 200 day moving average of the ORATS 20day ex-earn implied volatility | | atmIvM1 | implied volatility for the first standard expiration | | atmFitIvM1 | the at-the-money monthly fit volatility for month 1 using the term structure of the forecast and the implied at-the-money volatility | | atmFcstIvM1 | forecast of volatility for month 1 using the ex-earnings forecast plus the earnings effect at this days to expiration | | dtExM1 | days to expiration in month 1 standard expiration (not weekly or quarterly expirations) | | atmIvM2 | implied volatility for month 2 | | atmFitIvM2 | at-the-money monthly fit volatility for month 2 | | atmFcstIvM2 | forecast of volatility for month 2 | | dtExM2 | days to expiration in month 2 | | atmIvM3 | implied volatility for month 3 | | atmFitIvM3 | at-the-money monthly fit volatility for month 3 | | atmFcstIvM3 | forecast of volatility for month 3 | | dtExM3 | days to expiration in month 3 | | atmIvM4 | implied volatility for month 4 | | atmFitIvM4 | at-the-money monthly fit volatility for month 4 | | atmFcstIvM4 | forecast of volatility for month 4 | | dtExM4 | days to expiration in month 4 | | iRate5wk | short term risk-free interest rate from treasuries | | iRateLt | long term risk-free interest rate from treasuries | | px1kGam | estimated cost of 1000 gamma per day for 30-day options | | volOfVol | annualized standard deviation of daily (1day ORATS intraday vol) statistical volatility for one year | | volOfIvol | annualized standard deviation of the ORATS ex-earnings 30 day implied | | slope | best-fit regression line through the strike volatilities adjusted to the tangent slope at the 50 delta. The slope is the change in the implied volatility for every 10 delta increase in the call delta | | slopeInf | implied infinite slope | | slopeFcst | ORATS forecast of the slope of implied volatility skew | | slopeFcstInf | slope forecast infinite | | deriv | derivative or curvature of the monthly strikes at 30 day interpolated. The derivative is the change in the slope for every 10 delta increase in the call delta | | derivInf | derivative infinite implied | | derivFcst | forecast derivative at 30 day interpolated | | derivFcstInf | forecast infinite derivative | | mktWidthVol | market width in implied vol points at the interpolated 30 days to expiration | | mktWidthVolInf | market width in implied vol points at the interpolated 2 years to expiration | | cAddPrem | deprecated item | | pAddPrem | deprecated item | | rip | dollar amount of options to start ignoring in delta calculation | | ivEarnReturn | average of the volatility day of and day after earnings / implied day before divided by implied day before / implied day after | | fcstR2 | goodness of fit of the 20-day forecast to the 20-day future statistical volatility | | fcstR2Imp | goodness of fit of the implied forecast vs actual implied in 20 days | | hiHedge | deprecated item | | loHedge | deprecated item | | stkVolu | total stock volume for an underlyer | | avgOptVolu20d | average for the last 20 days of total options volume for the symbol | | sector | sector as derived by cusip number | | orHv1d | 1-day historical intraday volatility | | orHv5d | 5-day historical intraday volatility | | orHv10d | 10-day historical intraday volatility | | orHv20d | 20-day historical intraday volatility | | orHv60d | 60-day historical intraday volatility | | orHv90d | 90-day historical intraday volatility | | orHv120d | 120-day historical intraday volatility | | orHv252d | 252-day historical intraday volatility | | orHv500d | 500-day historical intraday volatility | | orHv1000d | 1000-day historical intraday volatility | | clsHv5d | 5-day historical close to close volatility | | clsHv10d | 10-day historical close to close volatility | | clsHv20d | 20-day historical close to close volatility | | clsHv60d | 60-day historical close to close volatility | | clsHv90d | 90-day historical close to close volatility | | clsHv120d | 120-day historical close to close volatility | | clsHv252d | 252-day historical close to close volatility | | clsHv500d | 500-day historical close to close volatility | | clsHv1000d | 1000-day historical close to close volatility | | iv20d | 20 calendar day interpolated implied volatility | | iv30d | 30 calendar day interpolated implied volatility | | iv60d | 60 calendar day interpolated implied volatility | | iv90d | 90 calendar day interpolated implied volatility | | iv6m | 6 month interpolated implied volatility | | clsPx1w | stock price at the prior week (5 trading days ago) | | stkPxChng1wk | stock price change over the prior week (5 trading days) | | clsPx1m | stock price at the prior month (21 trading days ago) | | stkPxChng1m | stock price change over the prior month (21 trading days) | | clsPx6m | stock price at the prior 6 months (252/2) trading days ago | | stkPxChng6m | stock price change over the prior 6 months (252/2) trading days | | clsPx1y | stock price at the prior year (252 trading days ago) | | stkPxChng1y | stock price change over the prior year (252 trading days) | | divFreq | number of dividends per year | | divYield | annualized dividends divided by stock price | | divGrwth | slope of the forecasted dividends annualized | | divDate | next dividend date is available through another subscription | | divAmt | dividend amount | | nextErn | next earnings date is available through another subscription | | nextErnTod | deprecated item | | lastErn | last earnings date | | lastErnTod | time of day earnings released: Before-2, After-3, During-4, Unknown-1 | | absAvgErnMv | average Earnings Move percentage: an average of the absolute values of the stock price moves corresponding to the time of the next earnings announcement | | impliedIee | market implied earnings effect is found by solving for a term structure equation where the earnings effects adjust the months affected by earnings | | daysToNextErn | deprecated item | | tkOver | 0 - Not a takeover. 1 - A takeover or rumored takeover stock | | etfIncl | ETFs where the symbol is a component pipe delimited if multiple | | bestEtf | closest SPDR Sector ETF (default to SPY or RUT if none) | | sectorName | short name of the sector | | correlSpy1m | ORATS 30 day implied volatility ex-earnings (orIvXern) correlation with SPY one month | | correlSpy1y | ORATS 30 day implied volatility ex-earnings (orIvXern) correlation with SPY one year | | correlEtf1m | orIvXern correlation with the Best ETF 30 day IV over the last month | | correlEtf1y | orIvXern correlation with the SPDR Sector ETF 30 day IV over the last year | | beta1m | short term price beta with SPY for 30 calendar days | | beta1y | long term price beta, 365 calendar days | | ivPctile1m | percentile of the current orIvXern vs. month range | | ivPctile1y | percentile of the current orIvXern vs. year range | | ivPctileSpy | percentile of the current orIvXern / SPY vs. year range | | ivPctileEtf | percentile of the current ETF orIvXern vs. year range | | ivStdvMean | number of stdevs the orIvXern is away from mean for the year | | ivStdv1y | standard deviation of the orIvXern for the year | | ivSpyRatio | orIvXern divided by SPY 30 day ORATS implied volatility | | ivSpyRatioAvg1m | orIvXern divided by SPY 30 day ORATS implied volatility 30 day average | | ivSpyRatioAvg1y | orIvXern divided by SPY 30 day ORATS implied volatility one year average | | ivSpyRatioStdv1y | orIvXern divided by SPY 30 day ORATS implied volatility one year standard deviation | | ivEtfRatio | orIvXern divided by ETF 30 day ORATS implied volatility | | ivEtfRatioAvg1m | orIvXern divided by ETF 30 day ORATS implied volatility 30 day average | | ivEtfRatioAvg1y | orIvXern divided by ETF 30 day ORATS implied volatility one year average | | ivEtFratioStdv1y | orIvXern divided by ETF 30 day ORATS implied volatility one year standard deviation | | ivHvXernRatio | orIvXern / orHvXern20d Ratio | | ivHvXernRatio1m | orIvXern / orHvXern20d Ratio vs monthly average | | ivHvXernRatio1y | orIvXern / orHvXern20d Ratio vs yearly average | | ivHvXernRatioStdv1y | orIvXern / orHvXern20d Ratio vs yearly range standard deviation | | etfIvHvXernRatio | orIvXern / orHvXern20d Ratio divided by ETF 30day implied / orHv20d ratio | | etfIvHvXernRatio1m | orIvXern / orHvXern20d Ratio divided by ETF 30day implied / orHv20d ratio month average | | etfIvHvXernRatio1y | orIvXern / orHvXern20d Ratio divided by ETF 30day implied / orHv20d ratio year average | | etfIvHvXernRatioStdv1y | orIvXern / orHvXern20d Ratio divided by ETF 30day implied / orHv20d ratio year standard deviation | | slopepctile | one-year percentile for the slope | | slopeavg1m | slope average for trailing month | | slopeavg1y | slope average for trailing year | | slopeStdv1y | standard deviation of the Slope | | etfSlopeRatio | slope divided by ETF slope current | | etfSlopeRatioAvg1m | slope divided by ETF slope month average | | etfSlopeRatioAvg1y | slope divided by ETF slope year average | | etfSlopeRatioAvgStdv1y | slope divided by ETF slope year standard deviation | | impliedR2 | regression formula goodness of fit of the 30 day ORATS implied volatility to the 20 day future statistical ex-earnings volatility | | contango | short-term contango of at-the-money implied volatilities ex-earnings | | nextDiv | next dividend amount | | impliedNextDiv | next implied dividend given options prices put call parity | | annActDiv | annual dividend from the next year of expected dividends | | annIdiv | annual implied dividend given options prices put call parity | | borrow30 | implied hard-to-borrow interest rate at 30 days to expiration given options prices put call parity | | borrow2yr | implied hard-to-borrow interest rate at two years to expiration given options prices put call parity | | error | total weighted squared error times the confidence in the monthly implied volatility | | confidence | total weighted confidence from the monthly implied volatilities derived from each month's number of options and bid ask width of the options markets | | pxCls | underlying price at the last close | | wksNextErn | number of weeks until the next earnings announcement | | nextErnTod | deprecated item | | ernMnth | deprecated item | | avgOptVolu20d | average option volume for all strikes over the last 20 days | | oi | total open interest for all strikes | | atmIvM1 | at-the-money implied volatility for month 1 interpolated using strikes weighted to at-the-money | | dtExM1 | days to expiration for month 1 | | atmIvM2 | at-the-money implied volatility for month 2 | | dtExm2 | Days to expiration for month 2 | | atmIvM3 | at-the-money implied volatility for month 3 | | dtExM3 | days to expiration for month 3 | | atmIvM4 | at-the-money implied volatility for month 4 | | dtExM4 | days to expiration for month 4 | | straPxM1 | straddle price for month 1 closest to the money strikes | | straPxM2 | straddle price for month 2 | | smoothStraPxM1 | straddle ORATS smooth theo for month 1 based on a smoothed line through all strikes | | smoothStrPxM2 | straddle ORATS smooth theo for month 2 | | fcstStraPxM1 | straddle ORATS Forecast theo for month 1 | | fcstStraPxM2 | straddle ORATS Forecast theo for month 2 | | loStrikeM1 | low strike of the straddle or strangle for month 1 | | hiStrikeM1 | high strike of the straddle or strangle for month 1 | | loStrikeM2 | low strike of the straddle or strangle for month 2 | | hiStrikeM2 | high strike of the straddle or strangle for month 2 | | ernDate1 | historical earnings date back 1 | | ernDate2 | historical earnings date back 2 | | ernDate3 | historical earnings date back 3 | | ernDate4 | historical earnings date back 4 | | ernDate5 | historical earnings date back 5 | | ernDate6 | historical earnings date back 6 | | ernDate7 | historical earnings date back 7 | | ernDate8 | historical earnings date back 8 | | ernDate9 | historical earnings date back 9 | | ernDate10 | historical earnings date back 10 | | ernDate11 | historical earnings date back 11 | | ernDate12 | historical earnings date back 12 | | ernMv1 | percentage move for earnings date back 1 | | ernMv2 | percentage move for earnings date back 2 | | ernMv3 | percentage move for earnings date back 3 | | ernMv4 | percentage move for earnings date back 4 | | ernMv5 | percentage move for earnings date back 5 | | ernMv6 | percentage move for earnings date back 6 | | ernMv7 | percentage move for earnings date back 7 | | ernMv8 | percentage move for earnings date back 8 | | ernMv9 | percentage move for earnings date back 9 | | ernMv10 | percentage move for earnings date back 10 | | ernMv11 | percentage move for earnings date back 11 | | ernMv12 | percentage move for earnings date back 12 | | ernStraPct1 | earn straddle price as a percent of the stock price for earnings date number 1 | | ernStraPct2 | earn straddle price as a percent of the stock price for earnings date number 2 | | ernStraPct3 | earn straddle price as a percent of the stock price for earnings date number 3 | | ernStraPct4 | earn straddle price as a percent of the stock price for earnings date number 4 | | ernStraPct5 | earn straddle price as a percent of the stock price for earnings date number 5 | | ernStraPct6 | earn straddle price as a percent of the stock price for earnings date number 6 | | ernStraPct7 | earn straddle price as a percent of the stock price for earnings date number 7 | | ernStraPct8 | earn straddle price as a percent of the stock price for earnings date number 8 | | ernStraPct9 | earn straddle price as a percent of the stock price for earnings date number 9 | | ernStraPct10 | earn straddle price as a percent of the stock price for earnings date number 10 | | ernStraPct11 | earn straddle price as a percent of the stock price for earnings date number 11 | | ernStraPct12 | earn straddle price as a percent of the stock price for earnings date number 12 | | ernEffct1 | earn effect for earnings date number 1 | | ernEffct2 | earn effect for earnings date number 2 | | ernEffct3 | earn effect for earnings date number 3 | | ernEffct4 | earn effect for earnings date number 4 | | ernEffct5 | earn effect for earnings date number 5 | | ernEffct6 | earn effect for earnings date number 6 | | ernEffct7 | earn effect for earnings date number 7 | | ernEffct8 | earn effect for earnings date number 8 | | ernEffct9 | earn effect for earnings date number 9 | | ernEffct10 | earn effect for earnings date number 10 | | ernEffct11 | earn effect for earnings date number 11 | | ernEffct12 | earn effect for earnings date number 12 | | orHv5d | 5-day historical intraday volatility | | orHv10d | 10-day historical intraday volatility | | orHv20d | 20-day historical intraday volatility | | orHv60d | 60-day historical intraday volatility | | orHv90d | 90-day historical intraday volatility | | orHv120d | 120-day historical intraday volatility | | orHv252d | 252-day historical intraday volatility | | orHv500d | 500-day historical intraday volatility | | orHv1000d | 1000-day historical intraday volatility | | orHvXern5d | 5-day historical intraday volatility excluding day of and after earnings (5 observations less day of or day after earnings if applicable) | | orHvXern10d | 10-day historical intraday volatility excluding day of and after earnings | | orHvXern20d | 20-day historical intraday volatility excluding day of and after earnings | | orHvXern60d | 60-day historical intraday volatility excluding day of and after earnings | | orHvXern90d | 90-day historical intraday volatility excluding day of and after earnings | | orHvXern120d | 120-day historical intraday volatility excluding day of and after earnings | | orHvXern252d | 252-day historical intraday volatility excluding day of and after earnings | | orHvXern500d | 500-day historical intraday volatility excluding day of and after earnings | | orHvXern1000d | 1000-day historical intraday volatility excluding day of and after earnings | | clsHv5d | 5-day historical close to close volatility | | clsHv10d | 10-day historical close to close volatility | | clsHv20d | 20-day historical close to close volatility | | clsHv60d | 60-day historical close to close volatility | | clsHv90d | 90-day historical close to close volatility | | clsHv120d | 120-day historical close to close volatility | | clsHv252d | 252-day historical close to close volatility | | clsHv500d | 500-day historical close to close volatility | | clsHv1000d | 1000-day historical close to close volatility | | clsHvXern5d | 5-day historical close to close volatility excluding day of and after earnings | | clsHvXern10d | 10-day historical close to close volatility excluding day of and after earnings | | clsHvXern20d | 20-day historical close to close volatility excluding day of and after earnings | | clsHvXern60d | 60-day historical close to close volatility excluding day of and after earnings | | clsHvXern90d | 90-day historical close to close volatility excluding day of and after earnings | | clsHvXern120d | 120-day historical close to close volatility excluding day of and after earnings | | clsHvXern252d | 252-day historical close to close volatility excluding day of and after earnings | | clsHvXern500d | 500-day historical close to close volatility excluding day of and after earnings | | clsHvXern1000d | 1000-day historical close to close volatility excluding day of and after earnings | | iv10d | 10 calendar day interpolated implied volatility | | iv20d | 20 calendar day interpolated implied volatility | | iv30d | 30 calendar day interpolated implied volatility | | iv60d | 60 calendar day interpolated implied volatility | | iv90d | 90 calendar day interpolated implied volatility | | iv6m | 6 month interpolated implied volatility | | iv1yr | 1 year interpolated implied volatility | | slope | put call slope at the interpolated 30 calendar days of the tangent at 50 delta | | fcstSlope | ORATS forecasted 30 calendar day put/call slope | | fcstErnEffct | ORATS forecasted earnings effect considers day of and day after earnings, seasonality, recentness, median and average of move divided by expected move | | absAvgErnMv | absolute average percent earnings move 12 observations at the time of the historical earnings announcement | | ernMvStdv | standard deviation of the 12 earnings moves absolute values | | impliedEe | The implied earnings effect (percentage of expected normal move) to make the best-fit term structure of the month implied volatilities | | impErnMv | percentage stock move in the implied earnings effect to make the best-fit term structure of the month implied volatilities | | impMth2ErnMv | percentage stock move in the implied earnings effect to make the best-fit term structure of the month implied volatilities | | fairVol90d | IV of the first earnings month | | fairXieeVol90d | smoothed term structure ex-earnings Ivs at the front earnings month plus the solved earnings effect | | fairMth2XieeVol90d | 30 calendar day interpolated implied volatility with earnings effect out plus the additional IV earnings effect from the first earnings month | | impErnMv90d | additional IV the front earnings month has over its ex-earnings IV | | impErnMvMth290d | additional IV the second earnings month has over its ex-earnings IV | | exErnIv10d | implied 10 calendar day interpolated implied volatility with earnings effect out | | exErnIv20d | implied 20 calendar day interpolated implied volatility with earnings effect out | | exErnIv30d | implied 30 calendar day interpolated implied volatility with earnings effect out | | exErnIv60d | implied 60 calendar day interpolated implied volatility with earnings effect out | | exErnIv90d | implied 90 calendar day interpolated implied volatility with earnings effect out | | exErnIv6m | implied 6 month interpolated implied volatility with earnings effect out | | exErnIv1yr | implied 1 year interpolated implied volatility with earnings effect out | | updatedAt | date and time of data updated | ### Daily Price | Field | Definition | |-------|------------| | ticker | underlying symbol | | tradeDate | trade date | | clsPx | closing stock price adjusted for splits and dividends | | hiPx | high of day stock price adjusted for splits and dividends | | loPx | low of day stock price adjusted for splits and dividends | | open | opening stock price adjusted for splits and dividends | | stockVolume | total stock volume of the day adjusted for splits and dividends | | unadjClsPx | unadjusted closing stock price | | unadjHiPx | unadjusted high of day stock price | | unadjLoPx | unadjusted low of day stock price | | unadjOpen | unadjusted opening stock price | | unadjStockVolume | unadjusted total stock volume of the day | | updatedAt | date and time of data updated | ### Historical Volatility | Field | Definition | |-------|------------| | ticker | underlying symbol | | tradeDate | trade date | | orHv1d | 1-day historical intraday volatility | | orHv5d | 5-day historical intraday volatility | | orHv10d | 10-day historical intraday volatility | | orHv20d | 20-day historical intraday volatility | | orHv30d | 30-day historical intraday volatility | | orHv60d | 60-day historical intraday volatility | | orHv90d | 90-day historical intraday volatility | | orHv100d | 100-day historical intraday volatility | | orHv120d | 120-day historical intraday volatility | | orHv252d | 252-day historical intraday volatility | | orHv500d | 500-day historical intraday volatility | | orHv1000d | 1000-day historical intraday volatility | | clsHv5d | 5-day historical close to close volatility | | clsHv10d | 10-day historical close to close volatility | | clsHv20d | 20-day historical close to close volatility | | clsHv30d | 30-day historical close to close volatility | | clsHv60d | 60-day historical close to close volatility | | clsHv90d | 90-day historical close to close volatility | | clsHv100d | 100-day historical close to close volatility | | clsHv120d | 120-day historical close to close volatility | | clsHv252d | 252-day historical close to close volatility | | clsHv500d | 500-day historical close to close volatility | | clsHv1000d | 1000-day historical close to close volatility | | orHvXern5d | 5-day historical intraday volatility excluding day of and after earnings | | orHvXern10d | 10-day historical intraday volatility excluding day of and after earnings | | orHvXern20d | 20-day historical intraday volatility excluding day of and after earnings | | orHvXern30d | 30-day historical intraday volatility excluding day of and after earnings | | orHvXern60d | 460-day historical intraday volatility excluding day of and after earnings | | orHvXern90d | 90-day historical intraday volatility excluding day of and after earnings | | orHvXern100d | 100-day historical intraday volatility excluding day of and after earnings | | orHvXern120d | 120-day historical intraday volatility excluding day of and after earnings | | orHvXern252d | 252-day historical intraday volatility excluding day of and after earnings | | orHvXern500d | 500-day historical intraday volatility excluding day of and after earnings | | orHvXern1000d | 1000-day historical intraday volatility excluding day of and after earnings | | clsHvXern5d | 5-day historical close to close volatility excluding day of and after earnings | | clsHvXern10d | 10-day historical close to close volatility excluding day of and after earnings | | clsHvXern20d | 20-day historical close to close volatility excluding day of and after earnings | | clsHvXern30d | 30-day historical close to close volatility excluding day of and after earnings | | clsHvXern60d | 60-day historical close to close volatility excluding day of and after earnings | | clsHvXern90d | 90-day historical close to close volatility excluding day of and after earnings | | clsHvXern100d | 100-day historical close to close volatility excluding day of and after earnings | | clsHvXern120d | 120-day historical close to close volatility excluding day of and after earnings | | clsHvXern252d | 252-day historical close to close volatility excluding day of and after earnings | | clsHvXern500d | 500-day historical close to close volatility excluding day of and after earnings | | clsHvXern1000d | 1000-day historical close to close volatility excluding day of and after earnings | ### Dividend History | Field | Definition | |-------|------------| | ticker | underlying symbol | | exDate | ex-dividend date | | divAmt | dividend amount | | divFreq | dividend frequency per year | | declaredDate | declared dividend date | ### Earnings History | Field | Definition | |-------|------------| | ticker | underlying symbol | | earnDate | earnings date | | anncTod | time of day earnings released: Before=900, After=1630, During=1200, Unknown=2359 | | updatedAt | date and time of data updated | ### Stock Split History | Field | Definition | |-------|------------| | ticker | underlying symbol | | splitDate | stock split date | | divisor | ratio of stock split | ### IV Rank | Field | Definition | |-------|------------| | ticker | underlying symbol | | tradeDate | trade date | | iv | implied volatility at 30 days interpolated | | ivRank1m | A measure of implied volatility vs its past 1 month values, but it looks only at the highest and lowest values. Formula is (Current IV - 1 month Low IV) / (1 month Max - 1 month Min) | | ivPct1m | A measure of implied volatility vs its past 1 month values. If IV percentile is 36% - It means that current IV value is higher than 36% of previous 1 month values (and lower than 64% of them). | | ivRank1y | A measure of implied volatility vs its 1 year past values, but it looks only at the highest and lowest values. Formula is (Current IV - 1 yr Low IV) / (1 yr Max - 1 yr Min) | | ivPct1y | A measure of implied volatility vs its past 1 year values. If IV percentile is 36% - It means that current IV value is higher than 36% of previous 1 year values (and lower than 64% of them). | | updatedAt | date and time of data updated | --- ## Delayed Data API Source: https://orats.com/docs/delayed-data-api ### Delayed Data API Get delayed and historical end-of-day options data back to 2007 augmented with hundreds of proprietary indicators. Data endpoint url: https://api.orats.io/datav2 ### Tickers (GET /tickers) Retrieves available tickers. Optional attributes: - ticker (string): The ticker to retrieve. Ex: AAPL ```bash curl -L "https://api.orats.io/datav2/tickers?token=my-token&ticker=AAPL" ``` ### Strikes (GET /strikes) Retrieves strikes data. Required attributes: - ticker (string): The ticker to retrieve (multiple tickers should be comma delimited - max of 10 allowed). Ex: AAPL,TSLA Optional attributes: - fields (string): The fields to retrieve. Ex: tradeDate,expirDate,strike - dte (string): Filter by DTE range. Ex: 30,45 - delta (string): Filter by delta range. Ex: .30,.45 ```bash curl -L "https://api.orats.io/datav2/strikes?token=my-token&ticker=AAPL" ``` ### Strikes by OPRA (GET /strikes/options) Retrieves strikes data by list of single options (OCC option symbols). Required attributes: - tickers (string): Comma delimited OCC option symbols. Ex: AAPL230915C00175000 ```bash curl -L "https://api.orats.io/datav2/strikes/options?token=my-token&tickers=AAPL230915C00175000" ``` ### Implied Monies (GET /monies/implied) Retrieves monthly implied monies data. Required attributes: - ticker (string): The ticker to retrieve (multiple tickers should be comma delimited - max of 10 allowed). Ex: AAPL,TSLA Optional attributes: - fields (string): The fields to retrieve. Ex: tradeDate,expirDate,calVol ```bash curl -L "https://api.orats.io/datav2/monies/implied?token=my-token&ticker=AAPL" ``` ### Forecast Monies (GET /monies/forecast) Retrieves monthly forecast monies data. Required attributes: - ticker (string): The ticker to retrieve (multiple tickers should be comma delimited - max of 10 allowed). Ex: AAPL,TSLA Optional attributes: - fields (string): The fields to retrieve. ```bash curl -L "https://api.orats.io/datav2/monies/forecast?token=my-token&ticker=AAPL" ``` ### Summaries (GET /summaries) Retrieves SMV summary data. Required attributes: - ticker (string): The ticker to retrieve (multiple tickers should be comma delimited - max of 10 allowed). Ex: AAPL,TSLA Optional attributes: - fields (string): The fields to retrieve. Ex: tradeDate,exErnIv30d,impliedEarningsMove ```bash curl -L "https://api.orats.io/datav2/summaries?token=my-token&ticker=AAPL" ``` ### Core Data (GET /cores) Retrieves core data. Required attributes: - ticker (string): The ticker to retrieve (multiple tickers should be comma delimited - max of 10 allowed). Ex: AAPL,TSLA Optional attributes: - fields (string): The fields to retrieve. Ex: tradeDate,slope,contango ```bash curl -L "https://api.orats.io/datav2/cores?token=my-token&ticker=AAPL" ``` ### IV Rank (GET /ivrank) Retrieves IV rank data. Required attributes: - ticker (string): The ticker to retrieve (multiple tickers should be comma delimited - max of 10 allowed). Ex: AAPL,TSLA Optional attributes: - fields (string): The fields to retrieve. Ex: tradeDate,ivRank1m ```bash curl -L "https://api.orats.io/datav2/ivrank?token=my-token&ticker=AAPL" ``` --- ## Errors Source: https://orats.com/docs/errors ### Errors In this guide we'll talk about what happens when something goes wrong while you work with the API. ### Request limits Your request limit per month depends on the endpoints you are accessing as well as your subscription level. We will warn you via email as you approach your limit. Additionally, you are limited to 1,000 requests per minute for all APIs. ### Ticker limit For endpoints that have a ticker field that accepts multiple tickers, there is a 10 ticker limit to the query. Certain endpoints allow you to add multiple tickers by using comma-delimited format, but if you go over 10 tickers then you will get an error. ### Uptime In the last five years, our API has only been down twice, and both times were due to an AWS outage. Our API relies on several AWS services to operate, and if we ever experience an outage, we will email you with updates. ### Status codes - 2xx: A 2xx status code indicates a successful response. - 4xx: A 4xx status code indicates a client error. - 5xx: A 5xx status code indicates a server error. --- ## Delayed Intraday API Source: https://orats.com/docs/delayed-intraday-api ### Delayed Intraday API Get delayed and historical one-minute options data back to August 2020 for over 5,000 symbols. All responses are in CSV format. Data endpoint url: https://api.orats.io/datav2 ### Strikes Chain (GET /one-minute/strikes/chain) Retrieves latest one-minute strikes chain data. Required attributes: - ticker (string): The ticker to retrieve. Ex: AAPL ```bash curl -L "https://api.orats.io/datav2/one-minute/strikes/chain?token=my-token&ticker=AAPL" ``` ### Strikes Chain History (GET /hist/one-minute/strikes/chain) Retrieves historical one-minute strikes chain data. Required attributes: - ticker (string): The ticker to retrieve. Ex: AAPL - tradeDate (string): The trade date to retrieve, formatted by YYYYMMDDHHMM (in EST). Ex: 202206071100 ```bash curl -L "https://api.orats.io/datav2/hist/one-minute/strikes/chain?token=my-token&ticker=AAPL&tradeDate=202206071100" ``` ### Strikes by OPRA (GET /one-minute/strikes/option) Retrieves latest one-minute strikes by OPRA symbol. OPRA symbol uses the format Underlying Symbol + Expiration Date (YYMMDD) + Strike (5 whole numbers and 3 decimals). Required attributes: - ticker (string): OPRA symbol. Ex: AAPL24062100160000 ```bash curl -L "https://api.orats.io/datav2/one-minute/strikes/option?token=my-token&ticker=AAPL24062100160000" ``` ### Strikes by OPRA History (GET /hist/one-minute/strikes/option) Retrieves historical one-minute strikes by OPRA symbol. If specifying a range, there is a 40 trading day max. Required attributes: - ticker (string): OPRA symbol. Ex: AAPL22091600160000 - tradeDate (string): The trade date formatted by YYYYMMDDHHMM. You may specify a range: YYYYMMDDHHMM,YYYYMMDDHHMM. Ex: 202206081000,202207201300 ```bash curl -L "https://api.orats.io/datav2/hist/one-minute/strikes/option?token=my-token&ticker=AAPL22091600160000&tradeDate=202206081000,202207201300" ``` ### Implied Monies (GET /one-minute/monies/implied) Retrieves latest one-minute implied monies data. Required attributes: - ticker (string): The ticker to retrieve. Ex: AAPL ```bash curl -L "https://api.orats.io/datav2/one-minute/monies/implied?token=my-token&ticker=AAPL" ``` ### Implied Monies History (GET /hist/one-minute/monies/implied) Retrieves historical one-minute implied monies data. Required attributes: - ticker (string): The ticker to retrieve. Ex: AAPL - tradeDate (string): The trade date formatted by YYYYMMDDHHMM (in EST). Ex: 202206071100 ```bash curl -L "https://api.orats.io/datav2/hist/one-minute/monies/implied?token=my-token&ticker=AAPL&tradeDate=202206071100" ``` ### Summaries (GET /one-minute/summaries) Retrieves latest one-minute summaries data. Required attributes: - ticker (string): The ticker to retrieve. Ex: AAPL ```bash curl -L "https://api.orats.io/datav2/one-minute/summaries?token=my-token&ticker=AAPL" ``` ### Summaries History (GET /hist/one-minute/summaries) Retrieves historical one-minute summaries data. Required attributes: - ticker (string): The ticker to retrieve. Ex: AAPL - tradeDate (string): The trade date formatted by YYYYMMDDHHMM (in EST). Ex: 202206071100 ```bash curl -L "https://api.orats.io/datav2/hist/one-minute/summaries?token=my-token&ticker=AAPL&tradeDate=202206071100" ``` --- ## Historical Data API Source: https://orats.com/docs/historical-data-api ### Historical Data API Get historical end-of-day options data back to 2007 augmented with hundreds of proprietary indicators. Data endpoint url: https://api.orats.io/datav2 ### Strikes History (GET /hist/strikes) Retrieves end of day strikes data. Required attributes: - ticker (string): The ticker to retrieve (multiple tickers should be comma delimited - max of 10 allowed). Ex: AAPL,TSLA - tradeDate (string): The trade date to retrieve Optional attributes: - fields (string): The fields to retrieve. Ex: tradeDate,expirDate,strike - dte (string): Filter by DTE range. Ex: 30,45 - delta (string): Filter by delta range. Ex: .30,.45 ```bash curl -L "https://api.orats.io/datav2/hist/strikes?token=my-token&ticker=AAPL&tradeDate=2017-08-28" ``` Response example: ```json { "data": [ { "ticker": "AAPL", "tradeDate": "2017-08-28", "expirDate": "2017-09-01", "dte": 5, "strike": 95, "stockPrice": 161.3827, "smvVol": 0.29255660522135446, "delta": 1.0000000000000133, "gamma": 4.021433382502273e-14, "theta": -0.008181463093526515, "vega": 2.420462435939163e-13, ... } ] } ``` ### Strikes History by OPRA (GET /hist/strikes/options) Retrieves end of day strikes history data by ticker, tradeDate, expiry, and strike. Required attributes: - ticker (string): The ticker to retrieve. Ex: AAPL - expirDate (string): The expire date to retrieve. Ex: 2022-01-21 - strike (string): The strike price to retrieve. Ex: 280 Optional attributes: - tradeDate (string): The trade date to retrieve. Ex: 2019-12-20 ```bash curl -L "https://api.orats.io/datav2/hist/strikes/options?token=my-token&ticker=AAPL&expirDate=2022-01-21&strike=280" ``` ### Implied Monies History (GET /hist/monies/implied) Retrieves end of day monthly implied monies history data. Required attributes: - ticker (string): The ticker to retrieve (multiple tickers should be comma delimited - max of 10 allowed). Ex: AAPL,TSLA - tradeDate (string): The trade date to retrieve Optional attributes: - fields (string): The fields to retrieve. Ex: tradeDate,expirDate,calVol ```bash curl -L "https://api.orats.io/datav2/hist/monies/implied?token=my-token&ticker=AAPL&tradeDate=2019-11-29" ``` ### Forecast Monies History (GET /hist/monies/forecast) Retrieves end of day monthly forecast monies history data. Required attributes: - ticker (string): The ticker to retrieve (multiple tickers should be comma delimited - max of 10 allowed). Ex: AAPL,TSLA - tradeDate (string): The trade date to retrieve Optional attributes: - fields (string): The fields to retrieve. ```bash curl -L "https://api.orats.io/datav2/hist/monies/forecast?token=my-token&ticker=AAPL&tradeDate=2019-11-29" ``` ### Summaries History (GET /hist/summaries) Retrieves end of day SMV summary history data. Required attributes (one or both): - ticker (string): The ticker to retrieve. Optional if tradeDate is set. Ex: AAPL,TSLA - tradeDate (string): The trade date to retrieve. Optional if ticker is set. Ex: 2019-11-29 Optional attributes: - fields (string): The fields to retrieve. Ex: tradeDate,exErnIv30d,impliedEarningsMove ```bash curl -L "https://api.orats.io/datav2/hist/summaries?token=my-token&ticker=AAPL&tradeDate=2019-11-29" ``` ### Core Data History (GET /hist/cores) Retrieves end of day core history data. Required attributes (one or both): - ticker (string): The ticker to retrieve. Optional if tradeDate is set. Ex: AAPL,TSLA - tradeDate (string): The trade date to retrieve. Optional if ticker is set. Ex: 2019-11-29 Optional attributes: - fields (string): The fields to retrieve. Ex: tradeDate,slope,contango ```bash curl -L "https://api.orats.io/datav2/hist/cores?token=my-token&ticker=AAPL&tradeDate=2019-11-29" ``` ### Daily Price (GET /hist/dailies) Retrieves end of day daily stock price data. Required attributes (one or both): - ticker (string): The ticker to retrieve. Optional if tradeDate is set. Ex: AAPL,TSLA - tradeDate (string): The trade date to retrieve. Optional if ticker is set. Ex: 2019-11-29 Optional attributes: - fields (string): The fields to retrieve. Ex: tradeDate,clsPx,open ```bash curl -L "https://api.orats.io/datav2/hist/dailies?token=my-token&ticker=AAPL&tradeDate=2019-11-29" ``` Response example: ```json { "data": [ { "ticker": "AAPL", "tradeDate": "2019-11-29", "clsPx": 65.18, "hiPx": 65.36, "loPx": 64.85, "open": 65.02, "stockVolume": 47783092, "unadjClsPx": 267.25, "unadjHiPx": 268, "unadjLoPx": 265.9, "unadjOpen": 266.6, "unadjStockVolume": 11654300, "updatedAt": "2023-08-14T23:24:19Z" } ] } ``` ### Historical Volatility (GET /hist/hvs) Retrieves historical volatility data. Required attributes (one or both): - ticker (string): The ticker to retrieve. Optional if tradeDate is set. Ex: AAPL,TSLA - tradeDate (string): The trade date to retrieve. Optional if ticker is set. Ex: 2019-11-29 Optional attributes: - fields (string): The fields to retrieve. ```bash curl -L "https://api.orats.io/datav2/hist/hvs?token=my-token&ticker=AAPL&tradeDate=2019-11-29" ``` ### Earnings History (GET /hist/earnings) Retrieves earnings history data. Required attributes: - ticker (string): The ticker to retrieve. Ex: AAPL ```bash curl -L "https://api.orats.io/datav2/hist/earnings?token=my-token&ticker=AAPL" ``` Response example: ```json { "data": [ { "ticker": "AAPL", "earnDate": "1987-09-25", "anncTod": "1630", "updatedAt": "2018-01-12T17:31:59Z" } ] } ``` ### Stock Split History (GET /hist/splits) Retrieves stock split history data. Required attributes: - ticker (string): The ticker to retrieve. Ex: AAPL ```bash curl -L "https://api.orats.io/datav2/hist/splits?token=my-token&ticker=AAPL" ``` Response example: ```json { "data": [ { "ticker": "AAPL", "splitDate": "2014-06-09", "divisor": 7 }, { "ticker": "AAPL", "splitDate": "2020-08-31", "divisor": 4 } ] } ``` ### IV Rank History (GET /hist/ivrank) Retrieves IV rank history data. Required attributes (one or both): - ticker (string): The ticker to retrieve. Optional if tradeDate is set. Ex: AAPL,TSLA - tradeDate (string): The trade date to retrieve. Optional if ticker is set. Ex: 2019-11-29 Optional attributes: - fields (string): The fields to retrieve. Ex: tradeDate,ivRank1m ```bash curl -L "https://api.orats.io/datav2/hist/ivrank?token=my-token&ticker=AAPL&tradeDate=2021-01-20" ``` Response example: ```json { "data": [ { "ticker": "AAPL", "tradeDate": "2021-01-20", "iv": 36.195, "ivRank1m": 56.44, "ivPct1m": 66.67, "ivRank1y": 27.62, "ivPct1y": 60.71, "updatedAt": "2021-01-21T01:09:52Z" } ] } ``` --- ## Historical Intraday API Source: https://orats.com/docs/historical-intraday-api ### Historical Intraday API Get historical one-minute options data for over 5,000 symbols. History can be queried from August 2020 up to yesterday's close. We cover dates going back to January 2022 for Strikes by OPRA. You can find the list of symbols we cover at https://s3.amazonaws.com/assets.orats.com/oneMinuteOpraTickers.json. If you see any missing symbols or want to see a symbol listed, please email us at support@orats.com. All responses are in CSV format. Data endpoint url: https://api.orats.io/datav2 ### Strikes Chain History (GET /historical/one-minute/strikes/chain) Retrieves historical one-minute strikes chain data. If the trade date is the current day, you can only fetch history up until the last 15 minutes. Required attributes: - ticker (string): The ticker to retrieve. Ex: AAPL - tradeDate (string): The trade date to retrieve, formatted by YYYYMMDDHHMM (in EST). Ex: 202206071100 ```bash curl -L "https://api.orats.io/datav2/historical/one-minute/strikes/chain?token=my-token&ticker=AAPL&tradeDate=202206071100" ``` ### Strikes by OPRA History (GET /historical/one-minute/strikes/option) Retrieves historical one-minute strikes by OPRA symbol without call/put distinction. Each row has both calls and puts. OPRA symbol uses the format Underlying Symbol + Expiration Date (YYMMDD) + Strike (5 whole numbers and 3 decimals). If the trade date is the current day, you can only fetch history up until the last 15 minutes. If specifying a range, there is a 40 trading day max. Required attributes: - ticker (string): OPRA symbol. Ex: AAPL22091600160000 - tradeDate (string): The trade date formatted by YYYYMMDDHHMM. You may specify a range: YYYYMMDDHHMM,YYYYMMDDHHMM. Ex: 202206081000,202207201300 ```bash curl -L "https://api.orats.io/datav2/historical/one-minute/strikes/option?token=my-token&ticker=AAPL22091600160000&tradeDate=202206081000,202207201300" ``` --- ## Live Data API Source: https://orats.com/docs/live-data-api ### Live Data API Get live options data calculated in real-time with less than 10 seconds of market delay. Note that when querying live data, the stockPrice field is calculated using put-call parity and may not reflect the exact stock price. The stockPrice field is exact after 15 minutes. Data endpoint url: https://api.orats.io/datav2/live ### Strikes (GET /live/strikes) Retrieves live strikes data. Required attributes: - ticker (string): The ticker to retrieve. Ex: AAPL ```bash curl "https://api.orats.io/datav2/live/strikes?token=my-token&ticker=AAPL" ``` Response example: ```json { "data": [ { "ticker": "AAPL", "tradeDate": "2023-11-03", "expirDate": "2023-11-17", "dte": 15, "strike": 142, "stockPrice": 176.78, "smvVol": 0.427, "delta": 0.9977013824960196, "gamma": 0.00026128369956380463, "theta": -0.006033209901090589, "vega": 0.0011255723343416414, "snapShotEstTime": "1600", "snapShotDate": "2023-11-03T20:00:00Z", "expiryTod": "pm" } ] } ``` ### Strikes by Expiry (GET /live/strikes/monthly) Retrieves live strikes data by expiration dates. Required attributes: - ticker (string): The ticker to retrieve. Ex: AAPL - expiry (string): Comma delimited expiration dates. Ex: 2023-11-10,2023-11-17 ```bash curl -L "https://api.orats.io/datav2/live/strikes/monthly?token=my-token&ticker=AAPL&expiry=2023-11-10,2023-11-17" ``` ### Strikes by OPRA (GET /live/strikes/options) Retrieves live strikes data by list of single options. Required attributes: - tickers (string): Comma delimited OCC option symbols or underlying. The OCC option symbol consists of four parts: (1) Root symbol of the underlying stock or ETF, padded with spaces to 6 characters; (2) Expiration date, 6 digits in the format YYMMDD; (3) Option type, either P or C, for put or call; (4) Strike price, as the price x 1000, front padded with 0s to 8 digits. ```bash curl -L "https://api.orats.io/datav2/live/strikes/options?token=my-token&tickers=AAPL230915C00175000,SPXW230317C04000000,VIXW230222P00020000,MSFT,IBM,AMZN" ``` ### Expiration Dates (GET /live/expirations) Retrieves expiration dates by ticker. Required attributes: - ticker (string): The ticker to retrieve. Ex: AAPL Optional attributes: - include (boolean): Include list of strikes. Ex: true ```bash curl -L "https://api.orats.io/datav2/live/expirations?token=my-token&ticker=AAPL" ``` Response example: ```json { "data": [ "2023-11-03", "2023-11-10", "2023-11-17", "2023-11-24", "2023-12-01", ... ] } ``` ### Implied Monies (GET /live/monies/implied) Retrieves live monthly implied monies data. Required attributes: - ticker (string): The ticker to retrieve. Ex: AAPL ```bash curl -L "https://api.orats.io/datav2/live/monies/implied?token=my-token&ticker=AAPL" ``` ### Forecast Monies (GET /live/monies/forecast) Retrieves live monthly forecast monies data. Required attributes: - ticker (string): The ticker to retrieve. Ex: AAPL ```bash curl -L "https://api.orats.io/datav2/live/monies/forecast?token=my-token&ticker=AAPL" ``` ### Summaries (GET /live/summaries) Retrieves live SMV summary data. Optional attributes: - ticker (string): The ticker to retrieve. Ex: AAPL ```bash curl -L "https://api.orats.io/datav2/live/summaries?token=your-token&ticker=AAPL" ``` --- ## Live Derived Data API Source: https://orats.com/docs/live-derived-data-api ### Live Derived Data API Get live options data calculated in real-time with less than 10 seconds of market delay. These endpoints are the same as the Live Data API endpoints, except they do not include OPRA data, which means the bid-ask price, size, and volume are null. Note that when querying live data, the stockPrice field is calculated using put-call parity and may not reflect the exact stock price. The stockPrice field is exact after 15 minutes. Data endpoint url: https://api.orats.io/datav2/live/derived ### Strikes (GET /live/derived/strikes) Retrieves live strikes data (without OPRA bid/ask/volume). Required attributes: - ticker (string): The ticker to retrieve. Ex: AAPL ```bash curl "https://api.orats.io/datav2/live/derived/strikes?token=my-token&ticker=AAPL" ``` ### Strikes by Expiry (GET /live/derived/strikes/monthly) Retrieves live strikes data by expiration dates (without OPRA data). Required attributes: - ticker (string): The ticker to retrieve. Ex: AAPL - expiry (string): Comma delimited expiration dates. Ex: 2023-11-10,2023-11-17 ```bash curl -L "https://api.orats.io/datav2/live/derived/strikes/monthly?token=my-token&ticker=AAPL&expiry=2023-11-10,2023-11-17" ``` ### Strikes by OPRA (GET /live/derived/strikes/options) Retrieves live strikes data by list of single options (without OPRA bid/ask/volume). Required attributes: - tickers (string): Comma delimited OCC option symbols or underlying. ```bash curl -L "https://api.orats.io/datav2/live/derived/strikes/options?token=my-token&tickers=AAPL230915C00175000,SPXW230317C04000000,VIXW230222P00020000,MSFT,IBM,AMZN" ``` --- ## Live Intraday API Source: https://orats.com/docs/live-intraday-api ### Live Intraday API Get live one-minute options data for over 5,000 symbols, calculated in real-time with less than 10 seconds of market delay. History can be queried from August 2020 up to 1 minute ago. Note that when querying live data, the stockPrice field is calculated using put-call parity and may not reflect the exact stock price. The stockPrice field is exact after 15 minutes. We cover dates going back to January 2022 for Strikes by OPRA. You can find the list of symbols we cover at https://s3.amazonaws.com/assets.orats.com/oneMinuteOpraTickers.json. If you see any missing symbols or want to see a symbol listed, please email us at support@orats.com. All responses are in CSV format. Data endpoint url: https://api.orats.io/datav2 ### Strikes Chain (GET /live/one-minute/strikes/chain) Retrieves latest one-minute strikes chain data. Required attributes: - ticker (string): The ticker to retrieve. Ex: AAPL ```bash curl "https://api.orats.io/datav2/live/one-minute/strikes/chain?token=my-token&ticker=AAPL" ``` ### Strikes Chain History (GET /hist/live/one-minute/strikes/chain) Retrieves historical one-minute strikes chain data. Required attributes: - ticker (string): The ticker to retrieve. Ex: AAPL - tradeDate (string): The trade date to retrieve, formatted by YYYYMMDDHHMM (in EST). Ex: 202206071100 ```bash curl -L "https://api.orats.io/datav2/hist/live/one-minute/strikes/chain?token=my-token&ticker=AAPL&tradeDate=202206071100" ``` ### Strikes by OPRA (GET /live/one-minute/strikes/option) Retrieves latest one-minute strikes by OPRA symbol without call/put distinction. Each row has both calls and puts. OPRA symbol uses the format Underlying Symbol + Expiration Date (YYMMDD) + Strike (5 whole numbers and 3 decimals). Required attributes: - ticker (string): OPRA symbol. Ex: AAPL24062100160000 ```bash curl -L "https://api.orats.io/datav2/live/one-minute/strikes/option?token=my-token&ticker=AAPL24062100160000" ``` ### Strikes by OPRA History (GET /hist/live/one-minute/strikes/option) Retrieves historical one-minute strikes by OPRA symbol without call/put distinction. If specifying a range, there is a 40 trading day max. Required attributes: - ticker (string): OPRA symbol. Ex: AAPL22091600160000 - tradeDate (string): The trade date formatted by YYYYMMDDHHMM. You may specify a range: YYYYMMDDHHMM,YYYYMMDDHHMM. Ex: 202206081000,202207201300 ```bash curl -L "https://api.orats.io/datav2/hist/live/one-minute/strikes/option?token=my-token&ticker=AAPL22091600160000&tradeDate=202206081000,202207201300" ``` ### Implied Monies (GET /live/one-minute/monies/implied) Retrieves latest one-minute implied monies data. Required attributes: - ticker (string): The ticker to retrieve. Ex: AAPL ```bash curl -L "https://api.orats.io/datav2/live/one-minute/monies/implied?token=my-token&ticker=AAPL" ``` ### Implied Monies History (GET /hist/live/one-minute/monies/implied) Retrieves historical one-minute implied monies data. If specifying a range, there is a 20 trading day max. Required attributes: - ticker (string): The ticker to retrieve. Ex: AAPL - tradeDate (string): The trade date formatted by YYYYMMDD or YYYYMMDDHHMM. You may specify a range: YYYYMMDD,YYYYMMDD or YYYYMMDDHHMM,YYYYMMDDHHMM. Ex: 202202110945,202202140945 ```bash curl -L "https://api.orats.io/datav2/hist/live/one-minute/monies/implied?token=my-token&ticker=AAPL&tradeDate=202202110945,202202140945" ``` ### Summaries (GET /live/one-minute/summaries) Retrieves latest one-minute summaries data. Optional attributes: - ticker (string): The ticker to retrieve. Ex: AAPL ```bash curl -L "https://api.orats.io/datav2/live/one-minute/summaries?token=my-token&ticker=AAPL" ``` ### Summaries History (GET /hist/live/one-minute/summaries) Retrieves historical one-minute summaries data. If specifying a range, there is a 40 trading day max. Required attributes: - tradeDate (string): The trade date formatted by YYYYMMDD or YYYYMMDDHHMM. You may specify a range: YYYYMMDD,YYYYMMDD or YYYYMMDDHHMM,YYYYMMDDHHMM. Ex: 202203211200,202204201300 Optional attributes: - ticker (string): The ticker to retrieve. Ex: AAPL ```bash curl -L "https://api.orats.io/datav2/hist/live/one-minute/summaries?token=my-token&ticker=AAPL&tradeDate=202203211200,202204201300" ``` --- ## Live Derived Intraday API Source: https://orats.com/docs/live-derived-intraday-api ### Live Derived Intraday API Get live one-minute options data for over 5,000 symbols, calculated in real-time with less than 10 seconds of market delay. These endpoints are the same as the Live Intraday API endpoints, except they do not include OPRA data, which means the bid-ask price, size, and volume are null. History can be queried from August 2020 up to 1 minute ago. Note that when querying live data, the stockPrice field is calculated using put-call parity and may not reflect the exact stock price. The stockPrice field is exact after 15 minutes. We cover dates going back to January 2022 for Strikes by OPRA. All responses are in CSV format. Data endpoint url: https://api.orats.io/datav2 ### Strikes Chain (GET /live/derived/one-minute/strikes/chain) Retrieves latest one-minute strikes chain data (without OPRA bid/ask/volume). Required attributes: - ticker (string): The ticker to retrieve. Ex: AAPL ```bash curl "https://api.orats.io/datav2/live/derived/one-minute/strikes/chain?token=my-token&ticker=AAPL" ``` ### Strikes Chain History (GET /hist/live/derived/one-minute/strikes/chain) Retrieves historical one-minute strikes chain data (without OPRA bid/ask/volume). Required attributes: - ticker (string): The ticker to retrieve. Ex: AAPL - tradeDate (string): The trade date formatted by YYYYMMDDHHMM (in EST). Ex: 202206071100 ```bash curl -L "https://api.orats.io/datav2/hist/live/derived/one-minute/strikes/chain?token=my-token&ticker=AAPL&tradeDate=202206071100" ``` ### Strikes by OPRA (GET /live/derived/one-minute/strikes/option) Retrieves latest one-minute strikes by OPRA symbol without call/put distinction and without OPRA bid/ask/volume. OPRA symbol uses the format Underlying Symbol + Expiration Date (YYMMDD) + Strike (5 whole numbers and 3 decimals). Required attributes: - ticker (string): OPRA symbol. Ex: AAPL24062100160000 ```bash curl -L "https://api.orats.io/datav2/live/derived/one-minute/strikes/option?token=my-token&ticker=AAPL24062100160000" ``` ### Strikes by OPRA History (GET /hist/live/derived/one-minute/strikes/option) Retrieves historical one-minute strikes by OPRA symbol without call/put distinction and without OPRA bid/ask/volume. If specifying a range, there is a 40 trading day max. Required attributes: - ticker (string): OPRA symbol. Ex: AAPL22091600160000 - tradeDate (string): The trade date formatted by YYYYMMDDHHMM. You may specify a range: YYYYMMDDHHMM,YYYYMMDDHHMM. Ex: 202206081000,202207201300 ```bash curl -L "https://api.orats.io/datav2/hist/live/derived/one-minute/strikes/option?token=my-token&ticker=AAPL22091600160000&tradeDate=202206081000,202207201300" ``` # ORATS University ## ORATS University Source: https://orats.com/university Improve your trading skills while learning about volatility, backtesting, and risk management. Narrated by former market-maker Matt Amberson, principal and founder of ORATS. Welcome! I'm Matt Amberson, and I am excited to share ORATS University with you. ORATS University is a culmination of lessons learned from being a Cboe market maker for 10 years, from running a trading firm for 5 years, and from over 20 years spent developing tools for options traders through my company, Option Research and Technology Services (ORATS). Whether you're an experienced options trader or just getting started in this fascinating world, I'm excited to take you on a journey through the tools and techniques we've created at ORATS to help traders like you navigate the markets more effectively, gain an edge, and make money trading options. ORATS University is designed to help you achieve those goals by introducing you to helpful techniques, indicators, and strategies. All of the pictures and videos included in these lessons are from the ORATS dashboard, a suite of trading tools designed to help you trade options more effectively. --- ### Four pillars of trading To start, I want to outline four pillars of trading that I believe serve as the roadmap to success. You can read more by clicking on the corresponding sections in the navigation menu on the left. #### Research We believe that alpha is a consequence of quality data. ORATS offers best-of-breed historical data sets and APIs to help you navigate years of options data. Additionally, since data is the backbone for research and analytics, we've built our web platform around our hundreds of proprietary indicators to give you the tools and insights you need. One of these tools, the backtester, uses historical data to simulate your trades and see how they would have performed. Through backtesting, you can refine your strategies, analyze performance under different market conditions, and identify any weaknesses or flaws. Our proprietary indicators give you the freedom and opportunity to find your unique edge in the market. #### Implementation To find the best options trades, it's helpful to use stock and option scanners to quickly identify potential trading opportunities. Gathering market intelligence, generating trade ideas, and tracking signals are also important facets of this step. Once you've found a trade, you need to be able to execute it with speed and reliability through the broker of your choice. Knowing what price to send to the exchange is a critical skill where execution algorithms can help. #### Risk Options trading involves risk, and it's important to understand and manage that risk. This involves setting stop-loss orders to limit losses, diversifying your portfolio, and hedging your positions. By managing your risk effectively, you can minimize losses and maximize profits. Being systematic and disciplined are also key traits that help in the long run. #### Review This last pillar is an important time for reflection. Keeping a trade journal has helped myself and other traders learn and adapt our strategies to be more profitable over time. Reviewing trades also helps to compare expectations to reality (also known as "forward testing"). Developing a systematic approach to reviewing your trades helps tie all the pillars together. --- ### Our work at ORATS These pillars lay the foundation for all of our work at ORATS. They've inspired the creation of original tools and hundreds of proprietary indicators, each methodically designed around our overarching goal: to help you make money trading options. #### Lessons from the past In ORATS University, I'll walk you through the years it took to research and develop these indicators, and how they are seamlessly integrated into many of our tools. From my years as a market-maker, to my years serving clients at ORATS, I've learned many lessons about volatility, backtesting, implementation, and several other facets of options trading that will help you gain an edge in the market. #### Exploring the Why Clients always ask me, why is X important in options trading? There are many unanswered questions traders have when learning about options. Throughout ORATS University, we'll answer questions like: - Why is implied volatility so important, and what does it mean? - Why is the Black-Scholes model not suitable for modern-day options traders? - Why is backtesting so critical? - Why should I pay attention to earnings? And many more. #### Looking ahead Several of the questions we're answering in ORATS University are complicated, multi-faceted topics that require a full analysis. Thus, the lessons are presented in an order I believe is best understood by reading start to finish. By the end of these lessons, you'll be equipped with the knowledge and tools necessary to become a successful options trader. My work at ORATS is never done, and if you have any feedback or ideas after reading this, I'm happy to listen. --- ## 102 - Option pricing models Source: https://orats.com/university/option-pricing-models What is the Black-Scholes Options Pricing model, and why is it wrong? --- ### Option pricing history To understand where we're at today, we first have to travel back to 1973. Fischer Black and Myron Scholes had just published The Pricing of Options and Corporate Liabilities, and it was taking the options industry by storm. #### Pricing assumptions They had published an equation that claimed to price any European call option fairly, according to the following assumptions: 1. The movement of the underlying stock is random, normally distributed, and follows a pattern that resemble a random walk. 2. The option can only be exercised at expiration (otherwise known as a European option). Options that you see today when you log in to your broker are American options - they can be exercised at any time. 3. The volatility of the underlying stock is known and constant. 4. The risk-free rate is known and constant. 5. No dividends are paid out during the life of the option. #### Navigating a changing environment At the time, this was a groundbreaking formula. 24 years later, Black and Scholes would win the Nobel Prize for their work on this exact equation. It was used, and continues to be used, as the standard option pricing model in many copies of software around the world. However in recent years, its reliability and accuracy in determining the true value of an option has been called into question. This is because in the real world of trading, the assumptions stated in the Black-Scholes model no longer hold true. In 1973, the options market was very illiquid, and it was only in that same year that the Chicago Board Options Exchange (CBOE) became the first U.S. exchange to offer listed stock options. Since then, the popularity and accessibility of options trading has skyrocketed, and in turn, so has volatility, with GameStop recently reaching an unprecedented 1000% implied volatility. With volatility swinging between 10% and 1000% in a one-week span, it's no wonder that assumption #3 has gone out the window. --- ### A new set of assumptions To say that an increase in volatility is the only reason the Black-Scholes model no longer works would be a dramatic oversimplification. There are several other factors that we will touch on throughout these lessons: #### The recent availability of weekly and daily expirations Before the 2010s, most listed options expired at the end of the month. That was just all that was offered - there simply wasn't enough liquidity and volume in the market to trade at a higher frequency. The retail options trading boom over the last several years has set in motion a pattern for more and more listings. How soon will it be before we see hourly expirations? #### A worldwide shift in how investors approach risk Black Swan events, a term popularized by former options trader Nassim Nicholas Taleb in his book _The Black Swan: The Impact of the Highly Improbable_, are highly unlikely, unpredictable outlier events that can often lead to devastating losses. The housing crisis in 2007 and COVID-19 are both examples of Black Swan events. Thus, the approach of using options to hedge your risk against these events has gained traction. This in turn has led to call and put options having different volatilities, a phenomenon we will cover in another lesson. #### Increased trading around earnings dates It is well documented today that implied volatility increases leading up to earnings, and then falls back sharply to normal levels after earnings are reported. The quick changes in implied volatility certainly don't meet assumption #3 in the Black-Scholes model. When Black and Scholes published their pricing model in 1973, they had no idea what the next several decades would hold. Now, 50 years later, we face a much different world, but the question remains: how do we determine the true price of an option? --- ## 103 - The true price of an option Source: https://orats.com/university/the-true-price-of-an-option What is the true price of an option? ORATS has spent the last 20 years fine tuning calculations and methodologies to answer this question. --- ### The standard model To understand our approach, let's first look at the five components of a standard options pricing model. 1. Strike price 2. Time to expiration 3. Underlying stock price 4. Interest and dividend rates 5. Implied volatility Out of these five components, implied volatility is the most important. #### Implied volatility Implied volatility is the least known, but also the most impactful component of the option price. In a perfect world, all of the options at all strikes and expirations for an underlying would have the same implied volatility, even though the options prices are different. This is the "constant volatility" that Black and Scholes assumed to be true in their original equation. However, in the real world, implied volatility is different for almost every strike and expiration. You might be wondering, doesn't the option chain already tell me the volatility? Well, you're not wrong. Most standard options chains include the call and put implied volatility, calculated using the mid price or the last traded price as the "plug". So instead of solving for price, you make implied volatility the unknown value, and solve for it using the market price. However, this is a rather crude way of calculating implied volatility. There are some common pitfalls when using this approach. #### Pitfalls 1. You usually end up with different call and put implied volatilities for the same strike. 2. As you drift further away from the at-the-money strike, the smaller delta calls and puts have lower premium, and the implied volatility becomes less realistic. 3. Illiquid securities or options with a wide bid-ask spread can have unreliable mid or last prices, causing the implied volatility to be off. Why are these pitfalls important? They might seem unimportant right now, but they make a big difference in the long run. Have you ever heard of the adage, "The flapping of the wings of a butterfly can be felt on the other side of the world"? Because implied volatility is the primary component of option pricing, an incorrect calculation can lead to poor quality backtests, inaccurate Greeks, and inefficient risk management, culminating in a negative effect on your bottom line. --- ### The ORATS solution Enter the ORATS Smoothed Market Values (SMV) process - a meticulously crafted series of equations that calculates accurate implied volatilities for each option, laying the foundation for accurate backtesting, scanning, execution, and risk management. Instead of simply deriving volatility from the market price, we look at several other contributing factors. #### Interest rate assumptions Interest rate assumptions can vary over stocks, expirations and even strikes. Stocks can be hard-to-borrow and instead of receiving interest for being short shares, interest is paid for the privilege of shorting these stocks. Since the hard-to-borrow-ness of a stock can change and usually fade over time, farther out expirations will have a lower hard to borrow rate than near months. #### Dividend assumptions We source our dividend information from Wall Street Horizon, a popular and reliable source of dividend information. We also employ an in-house dividend consultant for special cases and quality control. Whether or not there is a dividend paid during the options lifecycle will impact the volatility and price. #### Liquidity Market makers will often have wider spreads on a high absolute delta option than the low one. For example, an in-the-money, low strike, high delta call, will likely have a wider spread than its partner put. Market makers will have to hedge the buying or selling of this call and that hedge usually involves buying or selling the underlying. The call will have more deltas to hedge and more risk to the market maker and this will often cause a wide bid-ask spread. Moreover, the market maker may determine that selling the deltas are harder than buying deltas. --- ### Technical details In options trading, calls and puts should have the same implied volatility, which describes the portion of the options price attributable to the movement in the stock. Imbalances in implied volatility are caused by the factors above. ORATS works to isolate these factors and solve for the residual yield that lines up call and put implied volatilities. By doing so, call and put implied volatilities can be made equal. #### Drawing a smooth curve With the call and put implied volatilities lined up, we have a single measurement of implied volatility for every strike. This allows us to fit a non-arbitrageable smooth curve through these values. To make it non-arbitrageable, we... 1. Use a proprietary skew generator using bounded flexible spline bands. 2. Adjust the skews with another process to account for wings that may be slightly off put-call parity. 3. Eliminate calendar or butterfly arbitrage in our theoretical values. If this is too technical, don't worry. All you need to know is that we've now built a single, smooth curve that accurately represents implied volatility across all strikes and expirations, opening us up to a world of better options analysis. The pitfalls described earlier have been avoided, and we can finally answer the question, "What is the true value of an option"? #### Implementation Using the SMV implied volatility value for each option, we can plug it into the pricing model defined at the beginning of the lesson, and solve for a theoretical options price. This price can then be compared to market bid-ask quotes to see if the options are under or overpriced. While this is a great achievement, the SMV process we just discussed has many more applications. In the coming lessons, we will discuss why this is just the tip of the iceberg, and how the SMV process creates hundreds of new indicators that you can use to make smarter trading decisions. --- ## 201 - Volatility surface Source: https://orats.com/university/volatility-surface Before we dive into all the indicators, it's important to go over the volatility surface - what it is and how we measure it. --- ### What is the volatility surface? Volatility surface is the term options traders use to describe the volatility of all options across all strikes and all expirations for a single symbol. As you can imagine, this is a lot of data points, and thus is often visualized through a 3d graph, with time to maturity on the x-axis, moneyness on the y-axis, and implied volatility on the z-axis. #### 3d Graph If this picture looks daunting, you're not alone. 3d graphs are notoriously hard to interpret and understand. It's much better to present this in a 2d graph, as shown below. #### 2d Graph Do you notice the difference between the two pictures? Instead of plotting three variables onto one graph, we separate it out into a bunch of mini-graphs. In the above, you can see 4 mini-graphs, each plotting the weekly strikes on the x-axis against the implied volatility on the y-axis. This gives us a clearer view of the IV skew for each expiration, while still allowing us to view future expirations. --- ### Term structure of IV We can simplify the volatility surface by only looking at the at-the-money (50 delta) implied volatility for each expiration. This perspective of the volatility surface is called the term structure, and yields a graph that looks like the following: #### Measuring term structure We're going to analyze the term structure a lot in the coming lessons, so it's important to know how we measure it. We measure the short-term implied volatilities relative to the long-term implied volatilities. Contango is when the short-term IVs are lower than the long-term IVs, while backwardation indicates the opposite. Contango is the normal state of affairs for the options market. The term structure is heavily effected by earnings. In the next lesson, we'll uncover why this occurs and how we create new indicators to measure this phenomenon. --- ### Volatility skew If the term structure describes what the volatility looks like across all expirations, then how do we describe what the volatility looks like for only one expiration? This is what options traders call volatility _skew_, a term you'll hear a lot by the end of these lessons. The volatility skew describes what it looks like when we zoom in to one of the expirations in the graph above. There are technically 3 different volatility skews presented here, so let's go over each one. Remember that the x-axis is strikes and the y-axis is implied volatility. #### The call skew The cyan dots resemble the call implied volatility for each strike. If you were to draw a line connected all of the cyan dots, it would look like a flattened J. You might be wondering, why are the dots on the right higher than the ones on the left? This is a common phenomenon in options trading, where the out-of-the-money calls (higher strikes) have greater implied volatility than the in-the-money calls (lower strikes). This can be due to a variety of factors we described in previous lessons: hard-to-borrowness, liquidity, investor hype, etc. #### The put skew The purple dots resemble the put implied volatility for each strike. Similar to the call skew, it appears slightly lopsided, with the out-of-the-money puts (lower strikes) having greater implied volatility than the in-the-money puts (higher strikes). This is attributed to the fact that underlying equity prices tend to fall faster than they rise and options investors are willing to pay more for lower strike puts. #### SMV skew Do you see the orange line in the graph? That is the SMV curve, which we discussed in the previous lesson. Because we lined up the put and call IVs, and accounted for arbitrage, we were able to draw the true volatility skew, instead of having to pick between the call and put skews. This lays the ground for more accurate analysis of the skew. The skew often looks like a U-shaped curve that is commonly referred to as the volatility "smile." This is because of the tendency for the at-the-money implied volatility to be lower than the further delta strikes. #### Measuring skew The _slope_ is the measure of the steepness of the skew, or how lopsided it is. To calculate this value, we draw a tangent line at the 50 delta, and measure the direction and magnitude of the line. In the example above, the tangent line is sloping downward, but because we drew the strikes from 100 (left) to 0 (right), we would say the skew slope is positive. This is not always the case - some skews slope negatively, others are flat. So what's the significance of all this? Why is it important that we analyze the contango and slope? That's a question we'll answer in the coming lessons. --- ## 202 - Volatility around earnings Source: https://orats.com/university/volatility-around-earnings Now that we've discussed term structure, skew, and the SMV process for calculating accurate IVs, it's time to discuss how we can utilize these factors to produce an effective forecasted volatility surface. --- ### How earnings affects IV You can't talk about implied volatility without also talking about earnings. Since an earnings announcement can send a stock soaring up or crashing down, this expected movement is reflected in the term structure. Let's talk about why this happens. #### How it works There is a technical explanation as to why implied volatility rises before earnings. Let's look at an example. If we have a stock trading at $100 with a 25% implied volatility, this means that there is a 68% chance that the stock will be trading between $75 and $125 exactly one year from now. Why 68%? That's the probability encompassed by 1 standard deviation of movement. Now, imagine that the same stock had an earnings announcent in 11 months. There is a chance that it outperforms or underperforms expectations, which would lead to a larger than normal movement in the stock price. So, instead of the range being between $75 and $125, it might be between $70 and $130. Now, the implied volatility should be measured at 30% instead of 25%. Keep in mind that this example is describing stock volatility, but the same principle applies to volatility in options pricing. #### Why it's important The phenomenon described above is called the _earnings effect_, or the tendency for implied volatility to increase heading into earnings. This is very important to recognize when creating a forecasted volatility surface. If we don't account for earnings, the valuable information baked into the IV may be lost. Just as importantly, we wouldn't be able to compare the volatility surface to ETFs (which don't have earnings) or to its own history (because earnings dates can be inconsistent). So, how do we measure the earnings effect? --- ### Calculating ex-earnings IV We measure both the earnings effect and the resulting ex-earnings IV (the residual IV after taking out the earnings effect). We've spent years fine tuning methods to calculate these indicators. #### Calculating the earnings effect To calculate the earnings effect for each expiration, we follow these steps: 1. Make accurate implied volatility calculations by using inputs like interest, dividends and residual rates (this is our SMV process described in earlier lessons). 2. Apply accurate earnings announcement dates to determine how many earnings apply to each expiration. 3. Solve for an implied earnings effect that makes the most rational resultant monthly implied volatility relationships. For example, consider a stock that announces earnings 8/30/2018 after the close. Presented below is the method for extracting earnings from IV. See the at-the-money IVs for each expiration, post removal of earnings effect IV, and the portion of the IV that is applicable to the earnings announcement move: The 8/24/2018 expiry does not have an earnings effect. 8/31/2018 has the largest earnings effect (since the earnings effect will have a greater percentage of days relative to the number of days to expiration). Notice how the method solves for a new IV term structure. This new IV term structure is then summarized using interpolation described below. #### Interpolating days After calculating the earnings effect, we simplify the term structure down to a smooth surface across time. It's much easier to compare the IV of different expirations when they are boiled down to a digestable number. We use an interpolation process to calculate the 10, 20, 30, 60, 90, 180 and 365 day constant implied volatility. For example, if we were looking at the 30-day implied volatility, we might use a 26 day and a 33 day expiration and weight the 33 day slightly more because it is 3 days away from target of 30 and the 26 is 4 away. Moreover, if the earnings announcement is in 28 days, the portion of the IV attributable to earnings will be removed from the IV of the 33 day expiration (the 26 day expiration would not have an earnings effect). #### Interpolating deltas Just as with expiration dates, we also interpolate the IVs across different deltas to further simplify the term structure. We present the 5, 25, 50, 75, and 95 delta IVs for each of the constant maturity expirations. #### Implied earnings move Note that the implied earnings effect is different than the implied earnings move. The implied move is a common term in options trading, and references the percentage move of the stock price implied by the at-the-money IV relationships. It is commonly used to help determine the viability of straddle and strangle strategies. In the example below, we are looking at the implied earnings move (lighter bar) vs. the actual earn move (solid dot). When the actual move is outside the implied range, long straddles were profitable. When the actual move is inside the implied range, that is more profitable for short straddles. #### Inter-earnings IV and HV When analyzing earnings in the graphic above, we can also consider inter-earnings IV and HV. This relationship looks at the last three calendar months and compares the historical volatility (inter-earnings HV) to the IV for the upcoming quarter (inter-earnings IV). Both are measured directly after the announcement. The goal of this calculation is to see if the upcoming IV is overshooting the HV for the period leading up to an announcement. --- ### Forecasting the volatility surface Now that we've accounted for the earnings effect and defined a smooth surface across time to expiration and delta, we are now ready to integrate historical data into our model to help produce a forecasted volatility surface. #### Using historical data ORATS stands out from its competitors because of our tremendous asset coverage for US equity options. We've been gathering end-of-day options data for over 5,000 tickers since the beginning of 2007, and one-minute options data since August 2020. We use all of this data to fine-tune our forecasts of the IV surface. #### Forecast parameters We produce an effective forecasted volatility surface using the following parameters: 1. 20 business day (~1 month calendar) forecast of future statistical volatility - This forecast is based on observations often back to 2007 of historical volatility using a modified Parkinson method. 2. Infinite forecast of statistical volatility - This forecast is based on observations of the IV term structure. 3. Earnings forecast - We considers day of and day after earnings, seasonality, recentness, median and average of move divided by expected move. 4. The steepness of the IV skew (slope) 5. The curvature of the IV skew (deriv) Given the at-the-money implied volatility, the slope and the deriv, an implied volatility can be calculated for each strike. We do this for different days to expiration by interpolating between the at-the-money values and the infinite values. We also produce metrics on the accuracy of these forecasts. #### Bringing it all together To find an edge, it's useful to compare theoretical values to market values to determine what is overvalued and undervalued. Our method of producing a forecast can be summarized into three steps that we've covered throughout our lessons so far: 1. Use the SMV process to calculate accurate implied volatilites across all strikes and expirations. 2. Calculate and omit the earnings effect and use interpolation to create a smooth surface across time to expiration and delta. 3. Summarize the volatility surface into digestible indicators like slope, deriv, and contango. By following these steps, we're finally ready to use the power of the indicators we've created to help develop a trading thesis. --- ## 203 - Predictive indicators Source: https://orats.com/university/predictive-indicators In the last lesson, we touched on some of the forecasted parameters we calculated using our methods of summarizing and manipulating the volatility surface. Let's dive into detail on some of these indicators, and how we can compare them across time and related equities. --- ### Ex-earnings IV IV is negatively correlated to stock performance, meaning that high IV is usually a bearish signal for the stock. We isolate the IV related to the stock by taking out the earnings effect to get an ex-earnings measure of IV. We interpolate the time to expiration to get a 30-day ex-earnings IV, which we can compare across time and related equities. In the MSFT example below, we are comparing this value to XLK, to our forecast, and to its percentile reading over the last year. 1. Vs. XLK_C: XLK is the technology sector, which is the closest SPDR sector ETF to MSFT. We offer a special ticker, XLK_C, that is a weighted average of all of the components in the ETF. We calculate the 30-day ex-earnings IV of XLK_C and compare it to MSFT to see if the IV trending up or down. If the ratio to XLK_C is below its 10-day moving average, then we say that this is a bullish signal, because IV is trending lower than the weighted average of components in the similar ETF. 2. Vs. Forecast: We compute the forecast of the 30-day ex-earnings IV by combining our vast historical data set with our advanced volatility surface summarization techniques. We compare this forecast of IV to the current IV to determine if it is over or undervalued. If our forecast is greater than the current IV, we say that the IV is undervalued. 3. Vs. Percentile: We look at the IV percentile of MSFT for the last year. This tracks the current IV relative to the values over the last year and ranks it accordingly. A low IV percentile indicates that IV is undervalued relative to its history. --- ### Slope Slope measures the steepness of the skew. Alone, it's not a very predictive, because it's just a reflection of how the IVs look from 0-100 delta. One way we find if the slope is under or overvalued is to look at how the slope has changed recently. If the slope is higher than recent levels, lower strike puts are more expensive and the higher strike calls are cheaper than usual. If the slope is lower than recent levels, the lower strike puts are cheaper and the higher strike calls are more expensive than usual. Thus, we can say that an overvalued skew is generally best for risk reversal strategies, and an undervalued skew is best for collar strategies. In the example for IWM below, we observe how the slope compares to the best ETF, to its forecast, and to its percentile ranking: 1. Vs. IWM_C. Since IWM is an ETF itself, we are comparing the slope to the weighted average of its own components' slopes. If we look at the ratio and compare it to the 10-day moving average, we can see that the ratio is trending higher, which indicates that the slope for IWM is overvalued. 2. Vs. Forecast: ORATS computes both a 30-day forecast of slope and an infinite forecast of slope using our historical data set and volatility summarization techniques. Comparing the current slope value to the forecast of slope can help determine if the slope is over or undervalued. If our forecast is less than the current slope, we say that the slope is overvalued. 3. Vs. Percentile. We measure the slope percentile for IWM over the last year. A high slope percentile indicates that slope is overvalued relative to its history. --- ### Contango Contango is positively related to stock performance. It measures the slope of the at-the-money ex-earnings IVs from the shorter-term expirations (<45 days out). We've found that the term structure for 45 days out is an important signal because traders get more leverage using shorter term options. When contango is positive, this indicates the shorter term IVs are lower than the longer term. This is the normal state of affairs for the options market. When it's negative, we call this backwardation. We see that when contango flips to backwardation, this can be a bad sign for the market. Below is an example graph of contango for SPY, where we compare it to the 10-day moving average. --- ### Forward vs. Flat Forward IV We offer two additional measurements of IV for both the regular IV and the ex-earnings IV. These are the forward and flat forward calculations. Forward volatility measures future implied volatility based on close observations of the term structure. These calculations help normalize calendar pricing, which can in turn expose anomalies in the term structure. Let's look at an example calculation: 1. Assume the 20d IV is 9.1% and the 30d IV is 9.6%. 2. Logically, if the volatility was 9.1% for 20 days, in order for the 30 days to be worth 9.6%, for the 10 days after the 20 days and before the 30 days the stock would have to move more than 9.6% in order to move the average up to that number. 3. The calculation for the standard forward volatility finds this ten-day forward volatility to be 10.5%. We measure forward volatility for five different time periods: 1. 20d and 30d 2. 30d and 60d 3. 30d and 90d 4. 60d and 90d 5. 90d and 180d We also calculate a second measurement called flat forward. The calculation is a bit more involved, so we won't discuss it here. But, we've found the ratio of flat forward to forward to be a good signal for foreshadowing movement in the underlying instrument. In our studies, extremes in the ratio of the flat forward and regular forward led to extremes in the underlying stock movement. Let's look at two very different scenarios, the quiet 2017 and the volatile February 2018. The quietest month of 2017 was October (ironically) with a historical volatility of 5.4%. Oct 2017 was also the high of the forward ratio. The volatile February 2018 was preceded by a drop in the forward ratio. And so was the volatile October 2018 and December 2018. --- ### Other Indicators We measure several other important indicators like historical volatility, confidence, borrow rate, and deriv. The ratios of these indicators to other indicators also hold predictive value, and are used in tools like our backtester, stock scanner, and option scanner to help you make better trades. Our proprietary indicators are rooted in our vast set of historical options data. In the next lesson, we'll go over the different types of historical data available to you. --- ## 204 - Historical data Source: https://orats.com/university/historical-data To calculate all of the indicators we just discussed, we utilize our vast sets of historical options data to reveal patterns and forecast the volatility surface. We've made available three different sets of data, each designed to provide you with options information fit for your use case. --- ### Near end-of-day Our most popular data set is our near end-of-day data. This data set goes back to 2007, and includes the full options chain, derived Greeks, theoretical values, and IVs for over 5,000 symbols gathered 14 minutes before the close of each day. This data set is useful if you're looking for a lot of history but no intraday granularity. The one-time historical purchase is delivered from an ORATS-hosted AWS S3 archive: after signup, personal read-only S3 credentials and step-by-step download instructions are issued on your downloads page (https://dashboard.orats.com/downloads) in the dashboard. You don't need an AWS account of your own, and you won't incur any AWS charges. Access lasts 14 days from purchase, so plan your downloads accordingly. The recurring subscription is delivered via FTP: upon signup, you will be emailed credentials to access the files. Here is a recent sample of our near end-of-day data: https://s3.amazonaws.com/assets.orats.com/ORATS_SMV_Strikes_20240103.zip The data is available for purchase in two ways: 1. **Historical (from 2007 - today)**: This is a one-time purchase. You will recieve historical data from 2007 up until today, but no further. 2. **Recurring (every day from today onward)**: This is a monthly subscription. You will receive data on an ongoing daily basis beginning from the point of purchase. No data from before today is included in the subscription. Data for each day is ready each night at midnight to comply with OPRA regulations for data delivery. You can purchase historical and/or recurring near end-of-day data here: https://orats.com/near-eod-data#pricing Some people ask how you can download the data. For the historical purchase, any S3-compatible tool works: 1. **Cyberduck** (a free app for macOS and Windows): connect with the Amazon S3 protocol using the access key and secret from your dashboard, select all the year folders, and download them in one go. 2. **AWS CLI**: run `aws s3 sync` with your credentials to pull the archive, with native resume support if your connection drops. The exact connection settings, with annotated screenshots, are on your dashboard downloads page. For the recurring subscription, you can download each night's file over FTP with a client like FileZilla, or create a script that will download the files. --- ### 1-minute intraday Our 1-minute intraday data set is our second most popular offering. This data set goes back to August 2020 and includes the full options chain, derived Greeks, theoretical values, and IVs for every minute during the trading day of over 5,000 symbols. We recommend using this data set if you need minute-by-minute, or "0 DTE", options data. While it doesn't go back as far as the near end-of-day data, we still include the same 5,000+ equities, ETFs, and indexes. Due to the large size of the data set, files are delivered via AWS S3. Upon signup, you will be emailed instructions for how to create an S3 bucket and connect it to ORATS to start receiving data. Here is a recent sample of five different 1-minute files. For brevity, every symbol has been omitted except for AAPL: https://orats.com/university/intraday-sample-data.zip The data is available for purchase in two ways: 1. **Historical (from August 2020 - today)**: This is a one-time purchase. You will recieve historical data from August 2020 up until today, but no further. 2. **Recurring (every day from today onward)**: This is a monthly subscription. You will receive data on an ongoing daily basis beginning from the point of purchase. No data from before today is included in the subscription. Data for each day is available on a 15-minute delayed basis unless you request live, which may require additional fees depending on your professional status. You can purchase historical and/or recurring 1-minute data here: https://orats.com/one-minute-data#pricing --- ### Hard drive delivery The 1-minute intraday data set is enormous, roughly 28 TB and growing about 21 GB per trading day, so downloading the full history over S3 can be impractical. For users who would rather not transfer terabytes over the internet, ORATS ships the complete historical intraday data on physical hard drives, mailed to your door. The drives carry the same data as the intraday feed: the full options chain with SMV Greeks, theoretical values, and implied volatilities for every minute of the trading day across 5,000+ symbols, in Gzip CSV format. Two date ranges are available: 1. **1-minute data (October 2020 to present)**: roughly 28 TB, the same data delivered through the intraday S3 feed. 2. **2-minute archive (January 2015 through September 2020)**: roughly 11 TB, a fixed dataset that extends your history back another five years. The data ships on a set of three 20 TB USB drives (60 TB total capacity) via insured two-day courier, with free shipping to the US and Canada and a typical turnaround of one to two weeks. Every drive includes SHA256 checksum manifests and a readme so you can verify the transfer, and if a drive fails in transit, ORATS re-ships a replacement at no cost. You can either keep the drives or return them for a partial refund after copying the data, and the data license is included in the purchase. To keep the dataset current after delivery, stream live updates through the intraday API (https://orats.com/intraday-data-api) or pull daily files from the 1-minute S3 feed (https://orats.com/one-minute-data). To see current pricing and place an order, visit the hard drive delivery page: https://orats.com/hard-drive-delivery --- ### Dividends Whether or not there is a dividend paid during the options lifecycle will impact the volatility and price of the option. Thus, we've partnered with Wall Street Horizon to deliver best-in-class dividend information. We offer you a daily FTP download service with all expected ex-div dates and forecasted dividend amounts for the next 2.67 years for all stocks with US exchange listed options. You can purchase historical and/or recurring dividend information here: https://orats.com/dividends#pricing The dividend data includes four separate files: 1. **Dividends:** This file lists the closest upcoming dividend ex-dividend date, expected payment amount, and denotes if the data is Estimated ("E"), Acknowledged ("A"), Acknowledged by one or more, but not all sources("I") or Overridden ("O"). 2. **Stock Div Forecasts:** This file compares the computed projected dividend amount against what is being implied in the current options market. If the projected amount is not verified by the current market environment, it is tempered. Furthermore, the forecasts are split-adjusted and are converted to USD in the case when the dividend is expected in a foreign currency. 3. **Stock Div Hist Growth:** This file contains ORATS' raw proprietary dividend forecast amounts. The dividend payout amounts in this file are NOT compared to the dividend amount being implied in the current options marketplace. 4. **Special Dividends:** This file only contains upcoming confirmed special dividends. Our feed fully conforms to the OCC "12.5" rule on special dividends and includes/excludes dividends in accordance with the rule. --- ### Implied futures price Indexes price options off of futures prices for each expiration, but futures prices do not exist for every expiration. Traders need to interpolate or calculate an implied futures rate for the expirations without a corresponding futures price expiration date. ORATS uses put-call parity to solve for the futures at each expiration. In ORATS tools and APIs, the stock price associated with the options trade is the implied futures price for the expiration. This is why you might notice that the stock price for indexes presented by ORATS is slightly different than what you see in other data sources. Now that we've laid the groundwork with proprietary indicators and historical data, it's time to apply these tools to our research. In the next lesson, we'll look at a critical component of the research pillar and one of our most powerful tools - the options backtester. --- ## 301 - Backtesting methodology Source: https://orats.com/university/backtesting-methodology Our accurate historical options data and volatility summaries lay the groundwork for tackling a critial step in the research process - Backtesting. --- ### Why backtesting? A robust options trading strategy depends on accurate backtesting practices. A backtest shows you how the strategy performed historically, and gives you an idea of what to expect. You can learn a lot about a strategy with a backtest. While historical performance is not an indicator of future performance, a backtest can help you identify things like: 1. The risk and reward potential of a strategy 2. The relative performance of different entry criteria like days to expiration and strike deltas 3. The impact of market conditions on strategy performance 4. The importance of exit criteria like stop losses and profit targets These are benefits, but there are also complications with backtesting. Let's look at some of the common issues traders face when backtesting options. --- ### Common pitfalls of options backtesting Having been in the backtesting business for over a decade, we see many traders fall into the same traps. The complexity of backtesting options makes it easy to: 1. Use inaccurate or unrealistic trade execution prices 2. Overfit the data to create unrealistic returns 3. Accidentally follow path dependency 4. Misunderstand notional vs. marginal return We've carefully designed our new backtester to solve each of these issues. #### Using inaccurate or unrealistic trade execution prices Traders often gravitate to the end-of-day closing price of the option as the correct price to use for a backtest. However, we've found that these closing prices are not the best representation of the true value of the end-of-day price. Rather, our data shows that 14 minutes before the close is the closest you can get without experiencing deterioration in the quality of the quote. Our backtester uses quotes from 14 minutes before the close data to simulate trades. Slippage assumptions are key for a realistic backtest and ours are based on years of experience. We use a slippage of 75% of bid ask width for single legs all the way to 53% for four leg spreads. Traveling past the mid-price to trade is a reasonable assumption, however, for multi-legged strategies the percent traveled is not as much. #### Overfitting the data to create unrealistic returns When running multiple backtests on the same data set, there are risks of overfitting. An example would be testing 10 different days to expiration for the same symbol and strategy while varying no other parameters, and then choosing the best performing backtest to trade. Instead, you should look at the other similar backtests to see if they also performed well. Backtests with similar inputs but a wide variety of results is a bad sign. That's why in our new backtester, we've added a "find similar" button to help do this automatically. #### Accidentally following path dependency Path dependency refers to how the order and timing of trades can significantly affect a strategy's performance. Ignoring this aspect can lead to misleading results and unrealistic expectations. Our backtester tool takes into account path dependency in a unique way, by only putting on one trade per day, every day it meets the entry criteria. This means you can have 10 trades on at the same time, all entered one day after the previous one. While this isn't how most people trade in real life, it provides more accurate performance metrics because it eliminates any statistical bias that would occur if you only entered one trade at a time. For example, starting a backtest on the first day of the year might have very different results than starting the backtest a few weeks later. #### Misunderstanding notional vs. marginal return Notional and margin returns are both crucial elements for assessing the profitability and efficiency of a strategy. By understanding how these returns work, investors and traders can make informed decisions when it comes to selecting the strategies that are right for them. In options trading, the notional value of an option refers to the value of the shares controlled if the option were to either expire or be exercised or assigned. For example, if I buy a $5 call option on a $100 stock, because this option controls 100 shares of the underlying, the notional value of the trade would be 100 * $100 = $10,000. However, I would only need to pay $5 * 100 = $500 to open this trade. Thus, the notional return measure the performance relative to the $10,000, while the margin return measures the performance relative to the $500. It's easy to see that notional returns are much lower than margin returns. We use notional returns in the backtester because it helps standardize and normalize performance across all different types of strategies and symbols. We show the margin return to highlight how efficiently the strategy used the capital at its disposal. However, you have to be careful with margin returns, as sometimes they are not the most accurate reflection of a real-world trading environment. Generally, if an investor is using options and stocks, or if you want to normalize and compare disparate trading strategies, the notional calculation is best. If you want to see how much you would make on the amount at risk from a brokerage firms perspective the margin returns are best to use. Brokerage firm's margin do not always present the actual risk, so care needs to be used. For example, a short put may require 20% margin in portfolio margined accounts or 100% margin in cash accounts. The margin returns would be significantly different in either approaches. At ORATS, we show margin returns but have more data on notional returns because they are more conservative and consistent and allow better comparisons between backtests. --- ### Creating a database of 300 million+ backtests The pitfalls listed above are only a brief selection of some of the most common situations we see traders deal with when backtesting options. ORATS was inspired to create an even easier, faster, and more effective way to backtest that incorporates not only solutions to the above, but changes how you think about backtesting entirely. Our original custom backtester has been around for over five years. We threw in every feature we could dream of, which made for a highly functional but overly complex product. We wanted to build a new backtester that was ultra-fast, easy to use, and still provided traders with just as much value as the original. While at a team retreat in Florida in early 2023, we had an idea. What if instead of requiring you to input a bunch of parameters and run your own backtest, we did it for you. You would simply query a database of backtests (that already exist) for one that meets your investment objective. This would get you to the same result as before, but without the hassle, time commitment, and inevitable errors that were a part of creating your own backtest. After crunching the numbers, we determined this would mean running millions - if not billions - of backtests, before you even touched the software. This presented a difficult challenge from an engineering standpoint, because we had to figure out how to efficiently store and access all of this data. After a few months, we were ready to launch with a few million backtests for SPY. Now we have over 100 symbols, 15 strategies, and more than 300 million backtests. --- ## 302 - Input parameters Source: https://orats.com/university/input-parameters To run millions upon millions of combinations, we needed to choose only the most important entry criteria - days to expiration, strike deltas, and spread / stock % (spread yield), along with five different technical indicators. For exit criteria, this meant testing three different stop losses and six different profit targets. --- ### Entry criteria #### Days to expiration Days to expiration (DTE) indicates the remaining time until an option contract expires. Our backtesting tool analyzes strategy performance over a diverse range of DTEs, from as little as 2 days to over 300 days. By evaluating the strategy's performance across different time horizons, traders can gain insights into the ideal periods for executing specific strategies. In the backtester, you can filter down the table of results by specifying DTE min/max for each leg. #### Strike deltas The strike delta is a measurement of how much an option's price is likely to move with each $1 move in the underlying security. To provide you with a comprehensive view, our backtester tests strategies across a variety of absolute deltas, including in-the-money and out-of-the-money strikes. In addition to single leg strategies, we also test a variety of multi-leg strategies with more complex strike deltas such as vertical spreads and iron condors. Like DTE, you can use the filters in the backtest table to narrow down backtests by the strike delta min/max for each leg of the strategy. #### Spread yield Spread yield is a measure of the price paid for the options spread relative to the price of the underlying stock. It's calculated by dividing the price paid for the spread by the stock price. Our backtester categorizes the spread yield target for each backtest as low, moderate, or high, relative to other backtests with comparable DTE and strike deltas. This additional context allows for more informed analysis. It's interesting to explore the relationships between different backtest entry criteria and their performance. For example, if you filter down SPY Short Put Spreads by a low VIX entry trigger, and rank them by best overall performance, you'll see that the spread / stock is almost always low. This shows that in a low volatility environment, this strategy performed better as you targeted a lower spread yield. #### Technical indicators Technical indicators can provide guidance on when to enter a trade. We've added five different technical indicators to be used as entry triggers in the backtester: **VIX price:** The VIX, or volatility index, reflects the market's expectation of 30-day forward-looking volatility. Low VIX levels (<15) suggest a calm market, moderate levels (15-20) indicate normal volatility, while high levels (>20) imply increased uncertainty. **Simple moving average (SMA):** SMA is a commonly used technical indicator that smoothes out price data to capture trends over specific periods. Our backtester tests if the price is above or below the 50 or 200-day SMA. **14d RSI:** The 14-day Relative Strength Index (RSI) is a momentum oscillator that measures the speed and change of price movements. A reading of less than 40 indicates oversold conditions, 40-60 suggests moderate momentum, and above 60 signals overbought conditions. **IV percentile 1 Year:** The IV percentile shows where the current implied volatility of the underlying stands relative to its 1-year range. It's categorized as low (<33), moderate (33-66), or high (>66). **Slope percentile 1 Year:** This trigger shows where the current slope of the implied volatility skew stands relative to its 1-year range, categorized as low (<33), moderate (33-66), or high (>66). For each of these entry triggers, one of the levels is always the "current environment". This is denoted by the orange "C" next to the corresponding level. For example, if the 14d RSI is currently overbought, an orange "C" will appear next to the overbought trigger. This information is very helpful when trying to find a trade to put on immediately, because you can filter down the backtests that performed well in the current environment. You can also toggle on "Select each current environment of [ticker]" and the table will only show backtests that have been tested with any combination of the current environment entry triggers. --- ### Exit criteria Exit triggers play a crucial role in risk management and profit protection. We test stop loss levels of -25%, -50%, and -75% to protect from excessive losses. For locking in profits, we test profit targets of +25%, +50%, +75%, +100% (if debit strategy), +150% (if debit strategy), and +300% (if debit strategy). Like all other entry criteria and triggers, you can filter the table down to backtests that only test a specific stop loss or profit target. --- ## 303 - Measuring performance Source: https://orats.com/university/measuring-performance It's important to measure the right performance metrics when backtesting, otherwise you'll end up with a lot of data and no idea what to do with it. Before diving into the specifics, let's outline the four categories of performance metrics you'll see in the backtest finder: Return, Risk, Profit & Loss, and Others. --- ### Performance metrics **Return:** Metrics such as annual returns (overall, 1 year, 5 years, bearish and bullish markets), annual margin return, and best/worst monthly and annual returns. **Risk:** Quantitative measurements such as Sharpe Ratio, Sortino Ratio, Annual Volatility, Max Drawdown %, Drawdown Days, and Reward to Risk Average. **Profit & loss:** Comprehensive data like average P&L % per day, best and worst trade P&L (both in dollar and percentage), average P&L per trade and per day, and total strategy P&L. **Others:** Metrics including % of time in the market, strategy win rate, average days in trade, total strategy trades, credit/debit per trade average, margin per trade average, and margin to stock %. Let's dive deeper into some critical metrics. #### Notional vs. margin return As mentioned earlier, it's important to look at both notional and margin return because they are useful for different purposes. Notional return helps standardize performance when comparing across different symbols and strategies, while margin return helps you identify how efficiently your capital was used. Both are available in the performance metrics. #### Sharpe vs. Sortino ratio Our backtester also shows both Sharpe and Sortino ratios for each strategy. While they might seem similar at first, each ratio offers a distinct perspective on risk and should be understood separately. The Sharpe ratio gauges how much excess return a strategy provides relative to the risk taken, using standard deviation as a proxy for risk. It's excellent for understanding a strategy's overall risk-adjusted return, but it falls short in one critical area - it doesn't distinguish between upside and downside volatility. That's where the Sortino ratio comes in. The Sortino ratio, like the Sharpe ratio, evaluates risk-adjusted return, but it only considers downside volatility. In doing so, it addresses an important asymmetry in trading - traders generally welcome upside volatility while fearing its downside counterpart. A high Sortino ratio signals that a strategy minimizes damaging losses while potentially capitalizing on desirable volatility. By providing both these ratios, our backtester allows traders to examine a strategy's return through multiple risk perspectives. #### Filtering percent of time in market Filtering by the percent of time in market is an important feature of our backtester, mainly to reduce overfitting. By setting a minimum filter, you can focus on backtests with a statistically sound number of market days. Imagine two strategies: Strategy A has been in the market for 300 days, and Strategy B for only 30 days. While Strategy B might show an impressive return for its short time, its performance metrics might be unreliable due to the small sample size. Our tool allows you to filter out such strategies, preventing overfitting and enabling a more robust evaluation of the strategies' true performance. Like percent of time in market, you can apply filters to other metrics such as drawdown days, total strategy trades, and margin to stock % to fine-tune your risk tolerance and trading preferences. #### Profit and loss metrics We calculate various measures of profit and loss to provide a comprehensive view of a strategy's performance. The best and worst trade p&l metrics make it easy to quantify your upside potential versus the downside risk of the strategy. Sometimes it's good to filter the table based on p&l percent per day, as that can be a good baseline for an effective strategy. Below you can see the trade log for a short put strategy on SPY. The trades are ordered chronologically depending on when they were entered. The total profit is shown on the right, with a breakdown of the entry price and exit price included. You can see how the total dollar profit for each trade is calculated, after applying our standard slippage and commission assumptions on both the entry and exit. This value is used in many of the calculations related to profit and loss. --- ### Ranking algorithms At this point, we've covered most of the concepts, tools, and techniques in the backtest finder. To recap, we first examined some of the common pitfalls traders face when doing their own backtest, which inspired us to create the new backtest finder. With over 300 million backtests across 100+ symbols and 15 strategies, filtering these backtests to meet your investment criteria is critical, which is why we paid close attention to the entry and exit criteria along with the 37 different performance metrics. Finally, let's look at the three unique ranking algorithms that bring it all together: Best overall performance, Best conservative winner, and Best return on risk or individual sorts on P&L average daily profit, Sharp, Sortino and the like. Whether you're searching for a consistent winner, a risk-adjusted return champion, or an all-rounder, our ranking algorithms can cater to your unique preferences, offering a targeted understanding of each strategy's potential effectiveness. Here's a breakdown of each of the custom ranking algorithms: **Best overall performance:** This ranking looks at the following metrics and applies the following weights: Annual Return (Overall) (33.3%), P&L % Per Day Avg. (16.6%), Sharpe Ratio (33.3%), and Sortino Ratio (16.6%). **Best conservative winner:** This ranking looks at the following metrics and applies the following weights: Annual Return (Overall) (18.2%), Max Drawdown % (9%), Strategy Win Rate (9%), P&L % Per Day Avg. (18.2%), Worst Annual Return (9%), Worst Monthly Return (9%), Sharpe Ratio (9%), and Annual Sortino (18.2%). **Best return on risk:** This ranking calculates the following metric: P&L % Per Day Avg. / (-1 * Average (Worst Monthly Return, Worst Annual Return, Max Drawdown %)) To find the strategy that meets your investment objectives, sort the table of backtests by any performance column instead of a ranking algorithm and filter the results based on your needs. --- ### Where this goes next The metrics in this lesson are the language for everything else in the ORATS workflow. In the next lesson we'll show how to configure custom backtests around your favorite symbols, and then the Strategy Optimizer steps in to iterate on those ideas without leaving the platform. Our north star is a frictionless, end-to-end experience where you can research, forward test, and deploy the same strategy playbook inside one system. As we expand symbols, strategies, and broker integrations, that workflow will only get tighter. --- ## 304 - Custom backtesting Source: https://orats.com/university/custom-backtesting In the last several lessons, we walked through how you can find your favorite top performing strategies in the backtest finder. While this covers most scenarios, you might want to run your own custom backtest using specific entry and exit criteria. The custom backtester lets you do exactly that, with two data modes to choose from: End of Day (daily data back to 2007) and Intraday (1-minute data back to August 2020). --- ### End of Day mode End of Day mode is the full-featured custom backtester, running on daily data from 2007 to present. The backtest details popup presents information in the same style as the backtest finder, with a graph of performance, monthly returns, performance metrics, and a trade log. The "find backtests" button is available to help reduce overfitting, and once you're satisfied with the backtest, you can click the "scan for options" button to quickly send your entry parameters to the option scanner to help find a trade. The entry criteria are bundled into a concise and intuitive interface, making it easier and faster to design your backtest. All of your backtests are presented in a table with several helpful columns, including annual return, max drawdown, % of time in market, among others. #### Symbol(s) and strategy You can test any US-optionable stock, ETF, or index. Enter a single symbol, or upload a CSV file where you can specify multiple weighted symbols as well as custom entry and exit signals. We offer 45 strategies in total: 17 bullish, 13 bearish, and 15 neutral. Some of these strategies, like covered calls and collars, include long stock to help you backtest both stocks and options together. #### Entry criteria End of Day mode stands out with its massive selection of entry and exit criteria. In the entry criteria alone, there are over 15 different parameters you can set: **Date range:** The beginning and ending of the test. From 2007-01-03 to present. **Expiration type:** Choose all, weekly, or monthly. **Stock position:** Choose type (none, overlay, or married) and ratio. Ratio of 1 is long stock and ratio of -1 is short stock. The difference between overlay and married type is: Overlay you hold the stock from start to finish throughout the backtesting period. Married you hold the stock and exit the stock when you exit the option or when the option expires. **Return type:** Choose per trade (notional or margin) and daily (average or compound) returns. Set per trade to notional to calculate returns using notional and margin to calculate returns using margin. Set daily to average to calculate annual returns as an average. Set daily to compound to calculate annual returns using compounding. **Entry days:** Stagger trades every this many entry days. For example, there would be a new trade every 7 days from the last new trade. To reduce path dependency, set this to 1 to make a new trade potentially every day. **Spread yield %:** Spread yield allows you to filter based on the option trade price relative to the stock price. Calculated as (option entry price / stockprice). For example it would search options that have spread yield between and including 0.05 to 0.10 (5 and 10 percent). For credits, i.e selling options strategies, make sure the spread yield inputs are negative. **Spread price:** Spread price allows you to filter by the total price of the spread. For example, a target of 0.15 ($) and min max of 0.10 to 0.20 will select a trade closest to 0.15 but only if the spread price is within the min max range. For credits, i.e selling options strategies, make sure the spread prices are negative. For example, with a short put, target: -0.5, min: -1 max: 0. **Spread delta:** Spread delta allows you to filter by the net delta of the spread. Calculated as leg1ratio * leg1delta + leg2ratio * leg2delta. For example, it would set a min max of .30 to .40 and find only spreads with net deltas within that range. Be careful, you might have to use negative deltas when you set min and max. **Strike diff %:** Enter the trade when the trade price divided by the difference in strike prices is between the min and max. For example, a $5 wide call spread would enter if the price of $1 divided by 5 is between the min of .10 and the price of 4.5 that is above the max of .90. For credits, i.e selling options strategies, make sure the strike diff % inputs are negative. **Hedge days:** Delta hedge at the end of this many days. For example, 1 would delta hedge at the end of each day. **Hedge tolerance:** Hedge if the delta is below min or above max. For example if you set max: 0.1 for hedge tolerance, it would hedge the delta if delta is greater than 0.1 delta. **Market width ratio:** Market width ratio is equal to (optionAsk - optionBid) / strike. So to filter out any option strikes that have 5% of market width relative to the strike, we would set the max to 0.05. **AbsCpDiffStkPxRatioMax:** Absolute call put parity difference stock price ratio maximum is the absolute value of the put call parity formula inequality divided by the stock price. The max value is the maximum this value can be and still accept a trade for a backtest. This is useful parameter to avoid obviously bad markets. A typical amount for this would be a max of 0.02. **Implied bid volatility:** Implied bid volatility found by using the bid price of the option. For example, it would search options with implied bid volatilty between and including 15 to 80. **Implied ask volatility:** Implied ask volatility found by using the ask price of the option. For example, it would search options with implied ask volatilty between and including 15 to 80. **Option bid:** The bid price of the option. Use the min max to set a minimum and maximum options bid price to trade in the backtest. For example, search options with a bid price between and including min 0.05 to max 0.25. **Option ask:** The ask price of the option. Use the min max to set a minimum and maximum options ask price to trade in the backtest. For example, search options with a ask price between and including min 0.05 to max 0.25. **Entry date triggers:** The entry date trigger is the number of days before or after the event you will enter the position. Choose between earnings or conferences/events. **Entry indicator triggers:** Set as many of these as you would like. You can select from hundreds of our proprietary indicators, and even make your own using ratios. We also offer a variety of technical indicators - MACD, RSI, SMA, etc. You can choose to measure the indicator on the symbol you are testing, or a symbol of your choice. The trade will enter if the reading for the day is between the min and the max. #### Exit criteria In addition to the plethora of entry criteria, End of Day mode offers similar criteria for exiting: **Exit spread delta:** Exit and roll the trade if the spread total delta exceeds the min or max value. Calculated as leg1ratio * leg1delta + leg2ratio * leg2delta. Can be absolute delta or stock OTM %. **Exit DTE days:** Exit the trade when the days to expiration left is equal to or below this. For example, it would exit a trade with 10 days left to expiration. To hold a trade until expiration, enter "expire". **Exit profit/loss %:** Set stop losses and profit targets. For example, to set a stop loss of -0.5 (-50%) and a profit target at 2.0 (200%) for a long call, you would set the min to -0.5 and max to 2.0. Set only a stop loss by leaving the max blank. **Exit leg on strike trigger:** You can exit a trade based on the delta and/or OTM% levels of any one of the legs. For OTM%, you would exit the trade when the strike as a percent of stock price of a leg is below the min or above the max. For example, it would exit when the strike percentage of stock price is below 1.05 or above 1.20. Add a leg by clicking the "+" button. **Exit strike diff %:** Exit the trade when the trade price divided by the difference in strike prices falls below the min or rises above the max. For example, a $5 wide call spread would enter if the price of $1 divided by 5 is between the min of .10 and the price of 4.5 that is above the max of .90. For credits, i.e selling options strategies, make sure the strike diff % inputs are negative. **Exit hold days:** Exit the trade when the trade was held this many days. For example, it would exit a trade when the trade has been held for 20 days. **Exit spread price:** Exit the trade when the trade price falls below the min or rises above the max. For example, it would exit if below 0.4 ($) min or above 0.90 max price. For credits, i.e selling options strategies, make sure the spread prices are negative. For example, with a short put, target: -0.5, min: -1 max: 0. **Exit date triggers:** The exit date trigger is the number of days before or after the event you will enter the position. Choose between earnings or conferences/events. **Exit indicator triggers:** Set as many of these as you would like. You can select from hundreds of our proprietary indicators, and even make your own using ratios. We also offer a variety of technical indicators - MACD, RSI, SMA, etc. You can choose to measure the indicator on the symbol you are testing, or a symbol of your choice. The trade will exit if the reading for the day is below the min or above the max. #### Leg relationships Leg relationships are a special type of entry criteria that allows you to control the relative DTE, delta, or strike width between each of the legs. These are commonly used when backtesting calendars or other multi-leg spreads where it's critical for the legs to be related to each other. Each of the following leg relationships offers three separate criteria: **L1L2**, **L2L3**, and **L3L4**. These represent the legs in the equation. For example, L1L2 represents the second leg's value subtracted from the first leg's value (leg 1 - leg 2). The trade would only enter if the value of this equation is above the min and below the max. **DTE diff:** L1 days to expiration minus L2 days to expiration. **Delta total:** L1 delta minus L2 delta. **Strike width:** L1 strike width minus L2 strike width. **Strike width %:** L1 strike minus L2 strike divided by the stock price. --- ### Intraday mode Intraday mode is our newest addition, bringing 1-minute backtesting to the custom backtester. It runs on our one-minute data from August 2020 to present (weekly options coverage begins around October 2020), so you can finally backtest minute-level entries and exits, including 0 DTE strategies. A few things work differently from End of Day mode, since intraday testing is leaner and more focused: - **Symbols:** Choose from a fixed dropdown of the backtest finder universe (around 140 symbols), with SPX as the default. A handful of symbols without weekly options are excluded. - **Strategies:** 16 strategies are available, covering bullish, bearish, and neutral spreads like put credit spreads, iron condors, iron butterflies, straddles, strangles, and calendars. - **Timing:** Set minute-level entry and exit times, with a default entry of 9:34 AM. Days to expiration start at 1 (0 DTE) and go up to 30, and you can choose AM, PM, or both for the expiration time of day. - **Strikes:** Define each leg by target delta or by strike width in points from a reference leg, with sensible per-symbol default widths. - **Exits:** Exits are percent-based, with a stop loss (default 200%), an optional profit target, and a max hold days setting. - **Costs:** Slippage defaults to a percentage of the bid-ask width by leg count (75/66/55/53), with a default commission of $0.65 per contract. Because it's built for speed and simplicity, Intraday mode doesn't include the indicator, date, and earnings triggers, adjustments, or hedging available in End of Day mode. --- ### How it works Our custom backtesting engine is quite complex, but here we've simplified it down to eight general steps, along with slippage and commission assumptions. 1. The Backtester scans for entry from the start date using all the user input entry parameters. 2. Once an option trade is found, the Backtester calculates the option returns for each day. If there are hedging or married stock position in the strategy, we calculate that for each day at the time of option returns calculation. 3. For each day, the Backtester checks for exits using all the user input exit parameters. 4. If any of the exit parameter is triggered, the Backtester exits the option position. 5. When an option exits, the Backtester scans for entry again and step 1 is started over again until the end date or the latest available date in our database. 6. If there are overlay stock component in the strategy, the stock daily returns are added to the option daily returns. 7. If there are any weightings we calculate the weighted returns last when the backtest statistics are calculated. 8. Adjustments are handled similar to exits but we use adjustment entry and exit triggers to enter and exit adjustment trades. #### Slippage Slippage is the extra amount paid or the smaller amount received for an option bought or sold compared to the middle of the options bid-ask. We use a percentage of the options bid-ask spread to represent this amount and the percent slippage is different depending on how many legs there are in the trade. The slippage formula to buy is: Bid + (Ask - Bid) * slippage% The slippage formula to sell is: Ask - (Ask - Bid) * slippage% The following table explains the default method to calculate slippage on entering and exiting a trade: | # of Legs | Slippage % | bid x ask | Buy Trade Price | Sell Trade Price | | --------- | ---------- | ------------ | ---------------------------------- | ----------------------------------- | | 1 | .75 | 1.20 x 1.40 | 1.35 = 1.20 + (1.40-1.20) * .75 | 1.25 = 1.40 - (1.40-1.20) * .75 | | 2 | .66 | 5.10 x 5.90 | 5.628 = 5.10 + (5.90-5.10) * .66 | 5.372 = 5.90 - (5.90-5.10) * .66 | | 3 | .56 | 4.20 x 5.20 | 4.76 = 4.20 + (5.20-4.20) * .56 | 4.64 = 5.20 - (5.20-4.20) * .56 | | 4 | .53 | 8.50 x 10.30 | 9.454 = 8.50 + (10.30-8.50) * .53 | 9.346 = 10.30 - (10.30-8.50) * .53 | According to the table above: for a 1 leg option trade like buying a call, the default slippage is 75% of the bid ask width; for a 2 leg trade like a put spread vertical the slippage would be 66% of the total bid-ask spreads; for a 3 leg trade like a butterfly, slippage would be 56% of the bid-ask width for all legs; and finally a 4 leg iron condor would have a slippage of 53%. #### Commission We use $1.00 per option contract and $0.01 per share of stock when calculating returns. If the option exits out of the money at expiration with $0 value, we only deduct $1.00 for entry. If the option exits in the money at expiration with value, we will deduct two ways on entry and exit. If the option exits early, we deduct two ways on entry and on exit. Same goes with stock returns. #### Calculating daily returns We calculate our daily returns using notional returns. The change in daily values of the option is divided by the notional or stock price at entry of the trade. We will sometimes show margin returns depending on the tool, but in general we like to use notional because of the reasons explained in the backtesting methodology lesson. The best way to explain notional return it is to use an example below: Let's say we entered a XYZ Long Call at $1.20 on 1/3/2007 with a stock price of $100. On 1/4/2007, our option hit $1.80. Our notional daily return calculation would be: ($1.80-$1.20)/$100 = .006 which is .6% daily return on 1/4/2007. Then on 1/5/2007 our option went down to $0.90. Then our daily notional return would be (.90-1.80) / $100 = -.009 on 1/5/2007. The formula for daily return = option profit / opening stock price. If there are any stock components (Hedging, covered calls, married puts, etc.) we use the formula: (option profit + stock profit) / opening stock price. #### Calculating annual returns We use average returns instead of compound returns since compounding returns create special problems in option trading. To calculate the annual returns for each year, just add up the daily returns for the date range of the year. So if you want to calculate 2007 annual returns, just add up the daily returns from 1/1/2007 to 12/31/2007. To calculate the total annual returns from all the years, simply add all the daily returns then divided by how many years there are. So for example, let's say the total return is 32% and the backtest date range is from 1/3/2007 to 10/31/2018. Then you divide 32 from (11 yrs + (10/12)) = 11.83 years. Our backtest annual return would be 32/11.83 = 2.7%. --- ### Next steps After exploring custom backtesting, you've gained the ability to test specific strategies with precise entry and exit criteria. But creating a profitable backtest is just the beginning. The next step is to optimize your strategies to improve their performance using data-driven techniques. In the next lesson, we'll explore the ORATS Strategy Optimizer, a powerful tool that enhances your trading strategies by intelligently adding proprietary indicators and technical analysis to improve entry timing and overall performance. You'll learn how to use statistical validation and P-value calculations to ensure your optimizations are meaningful, not just curve-fitting to historical data. --- ## 305 - Optimizing your strategy Source: https://orats.com/university/optimizing-your-strategy-305 After creating or finding backtests, the natural next step is optimization. The ORATS Strategy Optimizer is a powerful tool that enhances your trading strategies by intelligently adding proprietary indicators and technical analysis to improve entry timing and overall performance. --- ### The power of data-driven optimization Many traders fall into the trap of over-optimizing their strategies based on gut feelings or random parameter adjustments. This often leads to curve-fitting - creating a strategy that performs exceptionally well on historical data but fails in live trading. The ORATS Optimizer takes a different approach by using statistical validation and permutation testing to ensure your improvements are real, not random. The key differentiator in our optimization approach is the P-value calculation. This statistical measure tells you the probability that your strategy improvements occurred by chance. A P-value below 0.05 means there's less than a 5% chance the improvement is random - giving you confidence that the optimization is meaningful and likely to persist in future trading. --- ### How the Optimizer works The Optimizer follows a systematic three-step process to enhance your trading strategies: #### Step 1: Choose your foundation strategy Start by selecting a strategy to optimize. You have three flexible options: - **Your saved backtests:** Use any of your previously created and saved backtest strategies as the starting point. The Optimizer will load all the original parameters including entry/exit rules, DTE ranges, and delta targets. - **Browse existing backtests:** Choose from over 300 million pre-calculated backtests across 100+ symbols and 15 strategies. Use the backtest finder to filter by strategy type, performance metrics, or specific symbols. - **Create a simple strategy:** Start with a basic long or short stock position and build from there. Simply enter a symbol (like AAPL or SPY) and choose long or short direction. Each strategy serves as the foundation that the Optimizer will enhance with additional indicators and rules. The system automatically loads historical performance data to establish a baseline for comparison. #### Step 2: Add intelligent indicators This is where the magic happens. The Optimizer gives you access to: **98 Proprietary ORATS Indicators including:** - **Implied volatility metrics:** Ex-earnings IV at multiple timeframes (10d, 20d, 30d, 60d, 90d, 6m), IV percentiles - **ORATS forecasts:** 20-day volatility forecast (orFcst20d), 20-day IV forecast (orIvFcst20d), infinite volatility forecast (orFcstInf) - **Historical volatility:** Intraday HV (1d, 5d, 20d, 90d), ex-earnings HV, close-to-close HV - **Market structure:** Slope, derivative/curvature, contango, market width in vol points - **Correlation metrics:** SPY correlation, ETF correlation, beta measurements - **Ratio indicators:** IV/HV ratios, forward volatility ratios, ETF relative value ratios - **Confidence and R-squared:** Forecast accuracy metrics, implied confidence scores **Technical Indicators with Pre-built Presets:** - **Simple Moving Average (SMA):** Multiple period comparisons with crossover strategies - **Bollinger Bands:** Upper/lower band breakout strategies - **Relative Strength Index (RSI):** Overbought/oversold conditions - **Commodity Channel Index (CCI):** Mean reversion signals Each ORATS indicator comes with pre-calculated performance metrics showing: - **Average %/day:** The historical daily performance when this indicator's conditions were met - **P-value:** The statistical significance of the performance improvement - **Correlation:** The correlation between the indicator's values and the backtest's equity curve, helping identify which indicators have historically moved with strategy performance Technical indicators offer multiple preset configurations: - **Short-term (5-15 periods):** For capturing quick momentum changes - **Medium-term (10-30 periods):** For balanced signal generation - **Long-term (20-50 periods):** For trend-following strategies Each preset includes pre-configured criteria that define when the indicator is "active" (allowing trades) versus "inactive" (blocking trades). These can be customized with AND/OR logic and wait periods. #### Step 3: Analyze and validate results As you add indicators, the Optimizer provides real-time performance updates comparing your original strategy to the optimized version. Key metrics include: - **Return improvement:** How much the annual return increased - **Sharpe ratio:** Risk-adjusted performance enhancement - **Max drawdown:** Whether the strategy became more or less risky - **Win rate:** Changes in the percentage of profitable trades - **P-value validation:** Statistical confirmation that improvements aren't random The system continuously recalculates these metrics as you modify rules, helping you find the optimal balance between return enhancement and risk management. --- ### Avoiding common optimization pitfalls The most dangerous pitfall in optimization is over-fitting - creating rules so specific to historical data that they fail in real trading. The Optimizer helps combat this through: - **P-value calculation:** Statistical measure showing the probability that improvements occurred by chance - **Permutation testing:** Runs 3,000 modified Monte Carlo simulations to validate that your performance improvements are statistically significant, not random More indicators don't always mean better performance. Keep these principles in mind: - Start with one or two indicators and add gradually - Focus on indicators with low P-values (< 0.05) - Monitor whether additional indicators actually improve risk-adjusted returns --- ### Advanced features #### Slippage and commission modeling The Optimizer includes sophisticated slippage modeling to ensure realistic performance expectations: - **Default slippage:** Automatically calculated based on option bid-ask spreads and market conditions - **Custom slippage:** Override with your own assumptions based on actual trading experience - **Commission settings:** Factor in per-leg commission costs for accurate net returns #### Indicator logic combinations Combine multiple indicators using flexible logic operators: - **AND logic:** All conditions must be true (more selective, fewer trades) - **OR logic:** Any condition can trigger (more opportunities, more trades) - **Mixed logic:** Use AND for entry and OR for exit, or vice versa - **Wait periods:** Set minimum bars between entry/exit to avoid whipsaws #### Visual performance analysis The Optimizer provides comprehensive visualization tools: - **Real-time chart updates:** See when indicators are active/inactive overlaid on price charts - **Performance comparison:** Side-by-side metrics showing original vs. optimized strategy - **Indicator overlays:** Display SMA lines, Bollinger Bands, RSI, and CCI values directly on charts - **Trade highlighting:** Visual markers showing when your optimized conditions would have triggered ### Integration with Trade Ideas Once you've optimized a strategy, simply click "Save" and it automatically saves to your backtests table with any updates applied. Your saved strategies then appear in the Trade Ideas "My Strategies" section, where the system continuously runs option scans for every strategy that currently meets its entry criteria, automatically finding and ranking the best available trades throughout the day. In your saved backtests table, you'll also find Curated Strategies tagged and developed by the ORATS team using this same optimizer tool. These professionally-built, statistically-validated strategies provide proven trading approaches to help you get started while you develop your own optimized strategies. --- ### Next steps The Strategy Optimizer bridges the gap between backtesting and finding profitable trades. By adding statistically validated improvements to your strategies, you're not just hoping for better performance - you're engineering it with data-driven precision. After optimizing your strategies and saving them for use in Trade Ideas, it's time to explore the second pillar of successful options trading - implementation. In the following lessons, we'll look at the stock scanner, option scanner, and trade ideas tabs to explore how we can utilize proprietary theoretical values and hundreds of indicators to find good trades in real-time. --- ## 401 - Stock scanning Source: https://orats.com/university/stock-scanning The backtester is a great tool for exploring the viability of specific strategies in certain environments. However, there are times when you want to explore trading opportunities for the present moment. This is where scanning - part of our second pillar of implementation - comes into play. --- ### What makes a great scanner Scanners are used to narrow down an entire universe of stocks and options into a few considerable trades by applying filters to certain indicators. We know from the previous lesson about predictive indicators that slope, ex-earnings IV, contango, and others aren't very useful when measured by themselves, but become informative when we compare them to history, to forecasts, and to related equities. Fortunately, all of these points of comparison are availble in the ORATS stock scanner, which can scan over 5,000 tickers in a few seconds. #### History One common and effective approach traders use to analyze indicators is to compare them to recent history, most commonly the moving average. Most indicators tend to revert to their mean after a certain amount of time. Thus, different periods of moving averages are used - 3, 5, 10, 20, and 50 days. Taking a look at slope, which is ORATS' measure of the steepness of the 30-day constant maturity IV skew, we can see the different moving averages available to use. If we want to find stocks that have an overvalued slope, we could look for stocks where the slope ratio to its 5-day moving average is above 1. We can also see the history of an indicator from within the stock scanner. This helps confirm the results that we're seeing and analyze how that indicator changed over time. #### Forecasts We can also compare slope (and other indicators) to their forecast. We provide forecasts for certain summarizations of the volatility surface, including slope, deriv, ex-earnings IV, and the earnings effect. These forecasts are based on proprietary estimations of the future volatility surface using techniques discussed in prior lessons. We can use these forecasts in the stock scanner to find stocks that meet certain criteria. For example, if the forecast of ex-earnings volatility is higher than the current value, that means ORATS projects volatility to increase. The resulting stocks could then be used to scan for options trades with high vega. #### Related equities Yet another use case of the stock scanner is the ability to compare indicators against related equities. When scanning for stocks, it can be helpful to analyze sectors and similar stocks. For example, wouldn't it be great if we knew the weighted average of all slopes in the tech sector? Fortunately, ORATS has that data in the form of "best ETFs". We keep track of over 30 of the most common SPDR sector ETFs - like XLK, XLY, and SPY - and calculate indicators like slope based on the weighted average of their components. The results are placed into a new symbol suffixed by "_C". These symbols are perhaps the most unique and useful way to scan for stocks in ORATS. You can select "Best ETF_C" when building a custom ratio indicator to compare each symbol against its individual closest SPDR sector ETF. This powerful mechanism allows you to filter stocks that are under or overvalued relative to related equities. Here is a full list of _C tickers: ALL_C, DIA_C, DJX_C, GDX_C, IBB_C, IGN_C, ITB_C, IWM_C, IYR_C, KBE_C, KRE_C, MDY_C, NDX_C, NQX_C, OIH_C, QQQ_C, RUT_C, SMH_C, SPX_C, SPY_C, XBI_C, XHB_C, XLB_C, XLC_C, XLE_C, XLF_C, XLI_C, XLK_C, XLP_C, XLRE_C, XLU_C, XLV_C, XLY_C, XOP_C, XSP_C #### Fundamentals A great stock scanner wouldn't be complete without fundamentals. Fundamental indicators are different from the 700+ proprietary option indicators we calculate at ORATS. Fundamentals include price to earnings ratios, market cap, profit margin, and other balance sheet metrics. These can be helpful when narrowing down thousands of stocks to those that meet your economic and financial standards. --- ### Scan templates We've put together a series of stock scans that you can use to identify stocks meeting certain criteria. These scans are a great starting point in identifying stocks to trade certain strategies. Below are the descriptions for each scan as well as the option strategy that goes with it. #### Unusual call volume Informed traders often use calls to get leverage for bullishness on the stock. ORATS identifies these informed participants by comparing the average volume for the last 20 days for all strikes and calculating a ratio of that volume for today. The higher the ratio, the more calls that traded today versus the past 20 day average. ORATS also looks at how the implied volatility compares to its 3-day average. We only want scenarios where the IV is higher than the 3 day average to capture times when the informed traders are buying calls and probably bullish on the stocks. The filtered stocks would be candidates for bullish options strategies. #### Unusual put volume Informed traders often use put to get leverage for bearishness on the stock. ORATS identifies these informed participants by comparing the average volume for the last 20 days for all strikes and calculating a ratio of that volume for today. The higher the ratio, the more puts that traded today versus the past 20 day average. ORATS also looks at how the implied volatility compares to its 3-day average. We only want scenarios where the IV is higher than the 3 day average to capture times when the informed traders are buying puts and therefore, probably bearish on the stocks. The filtered stocks would be candidates for bullish options strategies. #### Put-call skew cheap This scan is looking for stocks that are moderately liquid where the low strike puts are typically undervalued and the high strike calls are overvalued. We call the relationship between low strikes and high strikes the skew or slope. One way we find if the slope is under or overvalued is to look at how the slope has changed recently. If the slope is lower than recent levels, the lower strike puts are cheaper and the higher strike calls are more expensive than usual. We also observe that slope percentile is low, and whether the slope forecast versus the current slope is high. All these indicators point to an undervalued skew. The filtered stocks would be candidates for a collar strategy. #### Put-call skew rich This scan is looking for stocks that are moderately liquid where the low strike puts are typically overvalued and the high strike calls are undervalued. We call the relationship between low strikes and high strikes the skew or slope. One way we find if the slope is under or overvalued is to look at how the slope has changed recently. If the slope is higher than recent levels, lower strike puts are more expensive and the higher strike calls are cheaper than usual. We also observe that slope percentile is high, and whether the slope forecast versus the current slope is low. All these indicators point to an overvalued skew. The filtered stocks would be candidates for a risk reversal strategy. #### Earnings this week This simply scans for liquid stocks that are reporting earnings this week. Traders may want to protect or hedge their position or make a directional bet. The filtered stocks would be candidates for neutral strategies like straddles or an iron condor. #### High IV30d Sometimes, the implied volatility of a stock gets overvalued usually because of supply and demand imbalances in the options. We look at the ratio of the ex-earnings 30-day implied volatility versus its 5-day, 20-day, and 50-day average to identify these times. We also look at how the implied volatility of each stock compares to other stocks in its same sector. The filtered stocks would be candidates for short vertical spreads. #### Low IV30d Sometimes, the implied volatility of a stock gets undervalued usually because of supply and demand imbalances in the options. We look at the ratio of the ex-earnings 30-day implied volatility versus its 5-day, 20-day, and 50-day average to identify these times. We also look at how the implied volatility of each stock compares to other stocks in its same sector. The filtered stocks would be candidates for long straddles or strangles. #### Hard-to-borrow Hard-to-borrow stocks are identified by analyzing put-call parity discrepancies explained by options traders paying more for puts relative to calls. These stocks typically have higher implied volatility and may be poised for a short squeeze. The filtered stocks would be candidates for bullish strategies. --- ## 402 - Option scanning Source: https://orats.com/university/option-scanning In the previous lesson, we reviewed how to scan over 5,000 stocks to help narrow down the symbols you want to trade. Now that you have a stock (or list of stocks), it's time to examine their options chains and find a trade that meets your investment objectives. --- ### Custom strategies Whether you're coming from a backtest, stock scan, or you just have a stock that you're interested in, a great option scanner should be able to handle any strategy. There are over 25 different commonly known strategies, ranging from one to four legs, and either bullish, bearish, or neutral. In recent years, advanced traders have been exploring more custom strategies, which involve varying the ratios and sides of the calls and puts from the common strategies. Custom strategies are just one of many ways to use the ORATS option scanner to find your favorite trade. --- ### Theoretical values After running an option scan in ORATS, you're presented with a list of trades that match your critiera. In addition to the common filters - expiration date, price, strike deltas, implied volatility, etc. - we've enhanced the scanning experience by including three theoretical edges, each meticulously calculated to help give you more insight into the true value of the price. Positive edges indicate that the market price of the trade is undervalued, while negative edges indicate the opposite. #### Distribution edge Our first theoretical edge (D%) focuses on the distribution of past stock returns over the same period of time as the trade's days to expiration. Basically, we're using 15+ years of historical data to calculate the likelihood of the stock price ending up at a series of different prices on expiration day. Specifically, we calculate the probability for 21 different price observations, or buckets. To normalize the distribution for periods of extreme volatility, returns are adjusted using implied volatility at the time of the observation. For example, if SPY was trading $100 with a 30% IV a 1% move would be adjusted down now that SPY is $470 with a 10% IV. So that 1% move might go in the 0.5% bucket after making the adjustment. On the contrary, if the current IV is super high we would take the opposite approach: If a historical same DTE move was 0.25% with a 25% IV, and now the IV is 50% we would increase the percent move. To calculate D%, we start by looking at each bucket and multiplying the probability by the terminal value of the trade at that point. Then, we add up all of those values to get a theoretical value. Finally, to calculate the edge, we divide this total by the options trade price or the minimum margin (see section below), whichever is greater. A positive D% edge indicates that ORATS is forecasting a greater likelihood of the trade expiring "in-the-money" than the market. #### Forecast edge Our second theoretical edge (F%) focuses on forecasting the volatility surface. This is based on a combination of factors, including historical volatility and the forecasts for slope, deriv, and earnings effects. You can read more about how we forecast the volatility surface in the volatility around earnings lesson. We use our forecast of the volatility surface to calculate our own theoretical value for the price of the trade. If our value is higher than the market price (lower in the case of a credit), this is a positive edge - a benefit to the trader. #### Smoothed edge Lastly, our smoothed edge (S%) measures the distance between ORATS' proprietary SMV value and the price of the trade. If you remember from earlier lessons, our Smoothed Market Values (SMV) process helps line up put and call volatilities by looking at several contributing factors - interest rate assumptions, dividend assumptions, and liquidity - and then using a residual yield solved by applying put-call parity. With these volatilities now lined up, a "smoothed" line is drawn through the implied volatility skew for each expiration. We use this modified volatility surface to calculate a new price for the trade - our SMV price. To calculate S%, we divide our SMV price by the market price (or minimum margin, whichever is greater). For a credit, one is subtracted by the ratio and for a debit the ratio is taken away from one. The edge is positive for a theoretical benefit to the trader. #### Minimum margin Note that for all edge calculations (D%, F%, and S%), the minimum divisor is the greater of the options trade price and the minimum margin for a trade. The minimum margin is $0.375 times the number of options in a trade. For example, a single leg option has a minimum margin of $0.375. A vertical has two options for a minimum of $0.75. A three option trade like a call 1x2 (1call x -2calls) or put spread collar (1put x -1put x -1call) has $1.125 minimum divisor. A four option trade like an iron condor or butterfly (1 x -2 x 1) has a minimum margin of $1.50. --- ### Additional filters #### Rank weightings When filtering through hundreds of options trades, it's important to have a ranking system built in. You could, of course, sort by a specific column, but your trade selection becomes much more powerful when you incorporate rank weightings. Rank weightings consider the varying importance of six different popular column filters: D%, F%, S%, delta cost, reward to risk, and probability of profit. By dragging the sliders left and right, you can change how each trade is ranked based on how benefecial or detrimental the column reading is. #### Column filters In addition to the three theoretical edges described above, ORATS presents an additional 20 columns in the Option Scanner: **Price:** The price of the trade is the net mid point of the bid-ask quotes. Negative prices are credits. Positives are debits. **DTC (delta cost):** Delta Cost is a proprietary formula for evaluating the cost of delta. Delta is a benefit to long options and a detrement to short options. The Delta Cost should be minimized if buying and maximized if selling. For buying, the smallest positive number is the best Delta Cost. For selling, the most negative (smallest) number is the best Delta Cost. Delta Cost is positively related to trade price. Delta Cost is negatively related to absolute delta, stock price, volatility, and time. **Rwd:risk:** Reward to risk is the maximum gain from the terminal value of the trade minus the price over three standard deviations divided by the maximum loss. **POP%:** Probability of profit is the area under the distribution sum of the probabilities that result in a positive profit. **Max gain:** The maximum amount, in dollars, you would profit from this trade if this trade was closed at expiration. For trades with an unlimited max gain, we show a dollar value equal to three standard deviations of upside potential. **Max loss:** The maximum amount, in dollars, you would lose from this trade if this trade was closed at expiration. For trades with an unlimited max loss, we show a dollar value equal to three standard deviations of downside risk. **Delta:** The total delta of the trade is the current sum of the options deltas. Delta is the change in the price of the option given a one dollar increase in the stock. **Gamma:** The total gamma of the trade is the current sum of the options gammas. Gamma is the change in the delta of the option given a one dollar increase in the stock. **Theta:** The total theta of the trade is the current sum of the options thetas. Theta is the change in the price of the option given a one day passage of time. **Vega:** The total vega of the trade is the current sum of the options vegas. Vega is the change in the price of the option given a one percentage point increase in the implied volatility. **IV:** The implied volatility of the trade is the current weighted average by number of contracts ratio of options implied volatility. **DTE:** The number of days until expiration for the trade. **Breakeven(s):** Breakeven points of the trade are where the trade terminal profit equals zero across a three standard deviation range. **Open interest:** The open interest of each leg corresponds to the strikes order. **Volume:** The current day's volume of each leg of the trade corresponds to the strikes order. **Ask-bid:** The sum of the asks minus the bids for each leg of the trade. **Mkt width %:** Market width in percent of stock price: (ask - bid) / stock price * 100. **Price %:** The price divided by the stock price * 100. **Next dividend:** The date the company is expected to report it's next dividend. **Next earnings:** The next expected earnings date for the company. --- ### Next steps The option scanner provides powerful tools to filter through thousands of contracts and find opportunities that match your specific criteria. With templates, custom filters, and the ability to scan both spreads and single-leg options, you have a comprehensive toolkit for identifying potential trades. In the next lesson, we'll explore how all your research comes together in the Trade Ideas tab - a central hub that aggregates trade opportunities from multiple sources including the backtest finder, curated strategies built by the ORATS team, your own saved strategies from the optimizer, and custom option scans. We'll also cover additional discovery tools available in other areas of the dashboard, such as time and sales analysis, market intelligence reports, and tools for tracking institutional positioning across the entire market. --- ## 403 - Trade ideas and signals Source: https://orats.com/university/trade-ideas-and-signals The implementation pillar of successful options trading requires not just scanning capabilities, but a comprehensive system for discovering and evaluating trade opportunities. The ORATS dashboard provides this through two main approaches: the Trade Ideas tab that consolidates opportunities from your research and optimization work, and separate market intelligence tools that help you understand broader market dynamics and institutional positioning. --- ### The Trade Ideas tab The Trade Ideas tab is your central command center where all your research converges into actionable trade opportunities. This powerful hub aggregates results from four distinct sources, each bringing its own analytical approach to finding profitable trades. #### Backtest finder The backtest finder browses over 300 million pre-compiled backtests across 100+ symbols and 15 strategies to identify those whose entry criteria match the current market environment. You can filter by market direction (Neutral, Bullish, or Bearish) to focus on strategies that align with your market outlook. The system matches strategies based on current conditions including: - VIX levels - IV percentile - Technical indicators (SMA, RSI) - Slope percentile For these high-performing, environment-matched backtests, the system then scans for current options trades, ranking them by probability of profit and risk/reward. Each result includes detailed historical performance metrics and a full trade log, giving you confidence that the strategy has worked well in similar market conditions. #### Curated strategies The curated strategies section showcases professionally-built strategies developed by the ORATS team. These strategies are created by: - Starting with top-performing backtests from our database of over 300 million backtests spanning 100+ symbols and 15 strategies - Running them through the optimizer to incorporate ORATS proprietary indicators - Balancing for optimal average profit per day while maintaining low p-values for statistical significance The system continuously runs option scans based on each curated strategy's parameters and entry/exit indicators. When a strategy's conditions are met, it displays the best trade opportunity based on probability of profit and risk/reward. These results update throughout the day as market conditions change. #### My strategies The my strategies section works identically to curated strategies, but displays results from your own saved strategies created in the optimizer. When you save an optimized strategy, it automatically appears here with: - Continuous option scans based on your strategy parameters - The best trade opportunity for each strategy that currently meets its entry criteria - Real-time metrics including theoretical edge, POP%, and Greeks - Updates throughout the day as market conditions evolve This personalized section gives you the same powerful scanning and ranking capabilities that our team uses for curated strategies, but applied to your own custom-built approaches. #### Option scans The option scans section allows you to create and run custom scans across thousands of contracts in real-time. Features include: - Pre-built templates for common strategies (high IV rank, unusual volume, technical setups) - Custom scan building with filters for Greeks, profitability metrics, and market conditions - Real-time scanning with customizable ranking algorithms - Ability to save and reuse successful scan configurations All four sections work together to provide a comprehensive view of current opportunities, each updated in real-time as market conditions change. --- ### Additional discovery tools Beyond the Trade Ideas tab, the ORATS dashboard provides several additional tools for understanding market dynamics and discovering opportunities through different analytical lenses. Time and Sales lives under Ticker Analysis, while Happenings, Largest Trades, and Macro Calendar are top-level items in the Market Data section of the left sidebar. #### Time and Sales The Time and Sales tool (found in the Ticker Analysis section) examines raw order flow for individual stocks to detect the largest trades coming through the market. This granular view provides: - Strategy identification and contract size for each trade - Trade amount in dollars - Theoretical edge compared to ORATS pricing - Relative position size (contracts / avg. option volume 20d) Additionally, the tool presents an intraday chart of dollar delta plus a summary of total premium, total profit, and opening vs. unknown volume. These metrics help you understand whether institutional traders are accumulating or distributing positions. #### Happenings tab The Happenings tab provides comprehensive market intelligence through visual reports that help identify trends and unusual activity across the entire market. **Top movers:** Displays the top stocks with significant price movement, sized by absolute percent change and colored by daily performance. Available during pre-market, intraday, and post-market sessions. **Unusual volume:** Highlights the stocks with exceptional options activity, sized by today's volume relative to 20-day average. Color coding shows daily performance, helping you spot where smart money might be positioning. **Earnings:** Shows all stocks reporting earnings this week, sized by average option volume. Stocks are colored based on whether implied move exceeds or falls below average actual move, highlighting potential volatility opportunities. **Dividends:** Displays stocks going ex-dividend this week, sized by dividend yield and colored by daily performance, useful for income strategies and dividend capture opportunities. **ETFs:** Displays the top ETFs with significant price movement, sized by absolute percent change and colored by daily performance, with SPY, QQQ, and IWM shown in bold. #### Largest Trades tab The Largest Trades tab scans the entire market to uncover the most significant trades by size and unusual activity. This market-wide perspective helps you understand institutional positioning and identify stocks with exceptional activity that might warrant further investigation. #### Macro Calendar The Macro Calendar tab provides a comprehensive view of upcoming economic events, Federal Reserve announcements, and macroeconomic data releases. This helps you prepare for potential market-moving events and adjust your trading strategies accordingly. --- ### Bringing it all together The ORATS dashboard provides a complete ecosystem for discovering profitable trading opportunities through two complementary approaches: 1. **The Trade Ideas tab** consolidates your research work - aggregating results from backtests, curated strategies, personal strategies, and custom scans into a single actionable view 2. **Market intelligence tools** in other dashboard sections provide broader context - helping you understand market sentiment, track institutional activity, and identify unusual opportunities Together, these tools ensure you never miss a trading opportunity. Start with broad market intelligence from the Happenings tab to understand the day's themes, then drill down into specific opportunities in Trade Ideas. Validate interesting setups using time and sales data, and always check the macro calendar for upcoming events that could impact your trades. Now that you have mastered finding and validating trade opportunities, the next step is to analyze them visually before you commit capital. In the following lesson, we'll explore the dashboard's charting tools, the Trade Builder, Options Chain, Outlook, and Risk Profile, for visualizing a trade and seeing risk across your portfolio. --- ## 404 - Charting and trade analysis Source: https://orats.com/university/charting-and-analysis Numbers tell you what a trade costs; charts tell you how it behaves. The ORATS dashboard pairs every step of analysis with a visual, so you can see a position before you commit capital and watch risk across your whole book afterward. Most of these tools live under Ticker Analysis (Trade Builder, Options Chain, Outlook); portfolio risk lives under Positions (Risk Profile). --- ### The Trade Builder The Trade Builder is the default tab of Ticker Analysis and the central charting workspace. It plots a single ticker's price over a window that extends into the future, then lets you place option legs directly on that chart and watch the trade's economics update live. You add legs from the Options Chain: clicking a contract's Ask buys it (a long leg, drawn in green), and clicking its Bid sells it (a short leg, drawn in red). Each leg appears as a draggable marker labeled like "$150 Call Exp. 6/20". Drag it, or use the arrow keys, to walk the strike up and down and the expiration left and right; the chart re-prices as you go. Several overlays can be toggled on and off: - **Trendlines:** auto-drawn support and resistance levels. - **Breakevens:** the breakeven price line(s) for the trade you have built. - **Earnings:** markers for upcoming earnings dates on the timeline. - **Value Vol:** a fair-value cone projected forward from the volatility surface. - **68% IV Range** and **95% IV Range:** one and two standard-deviation implied-move cones. - **Open Interest** or **Volume:** per-strike bars at future expirations (one at a time). - **Insider Trades:** insider buy and sell markers on the price history. The price panel, an implied-volatility sub-chart (30-day IV, 20-day historical volatility, and forward volatility), and vertical expiration lines are always shown, and you can add a custom secondary indicator beneath the chart. A sidebar reports the trade's live economics: Distribution, Forecast, and Smoothed edge; POP (probability of profit); breakeven(s); reward-to-risk; max gain and max loss; and net cost as a debit or credit. A per-leg table breaks out each leg's price, ORATS theoretical value (SMV), implied volatility, and delta. The full position Greeks live in the Risk Profile, covered below. --- ### The Options Chain The Options Chain tab presents the full chain two ways at once: a graph on top (which you can collapse with Show Graph and Hide Graph) and a table below. The Chain Graph plots implied volatility across strikes for each expiration. On it you will find the ATM IV line, a smoothed IV skew curve, call and put mid-IV points, and a bar series you can switch between Volume and Open Interest. Page through expirations, hover any strike to read its bid, ask, SMV, volume, open interest, and IV, and click a Bid (to sell) or an Ask (to buy) to drop that contract straight into the Trade Builder. The Chain Table lays out Calls, Strikes, and Puts side by side. Bid, Mid, Ask, and SMV are shown by default; the Adjust Columns control lets you add forecast value, delta, gamma, theta, vega, the implied-volatility columns, volume, and open interest, and reorder them to taste. As on the graph, clicking a bid or ask adds a leg to your trade. --- ### The Outlook The Outlook tab translates the current options surface into a directional read. A backtested correlation engine scores the ticker bullish, bearish, or neutral over a horizon you choose (the next 3, 5, 10, or 20 trading days), and lays out its reasoning as a two-column grid of cards: - **Stock Price and IV:** price candles with 30-day ex-earnings IV and its recent trend. - **IV vs. Similar:** the ticker's implied volatility relative to its best-fit sector or index ETF, with forecast and one-year percentile context. - **IV Term Structure:** ATM implied volatility across expirations. - **Contango:** the relationship between shorter and longer-dated IV over time. - **Expiration IV Skew:** the implied-volatility-by-delta curve for a chosen expiration. - **Slope vs. Similar:** the ticker's skew slope relative to its best-fit ETF, with forecast and percentile context. The IV, Slope, Stock Price, and Contango cards carry a directional pill; Term Structure and Skew are descriptive views of the surface. --- ### The Risk Profile The Risk Profile (under Positions) is where payoff analysis lives. For a single trade it draws the payoff diagram: profit and loss across underlying prices, with POP, max gain, max loss, and reward-to-risk. Its "What if?" controls let you shift implied volatility and days to expiration and watch today's theoretical value respond, so you can stress a position before you ever place it. Its real differentiator is Portfolio mode. Switch it on and the Risk Profile pulls in your broker positions and combines them into a single portfolio profit-and-loss curve. Rather than plotting against one stock's price, it maps every position onto a shared scale of standard-deviation moves (from minus three to plus three sigma) using historical three-day price distributions, then sums the P&L across all positions and underlyings on one chart. A probability histogram sits behind the curve, and the legend reports net Profit, Delta, and Theta for the entire book. It is the one view that shows what your whole portfolio does when the market moves, not just a single trade. --- ### Bringing it all together These tools turn raw options data into something you can read at a glance: the Trade Builder to shape a position on the chart, the Options Chain to see pricing and skew across strikes, the Outlook to gauge the market's lean, and the Risk Profile to understand payoff for one trade and risk for the whole portfolio. With your trade analyzed and your risk understood, the next step is execution. In the following lesson, we'll cover placing orders: setting exit alerts, choosing an execution approach, and connecting your broker. --- ## 405 - Placing orders Source: https://orats.com/university/placing-orders After finding your trade, executing the order is the last step in the implementation process. Trade analysis, exit alerts, execution algos, and broker connections are all critical pieces of this step. --- ### Trade analysis A thorough assessment of the trade can help you understand how it's behaved in the past via profit attribution and trade history. #### Profit attribution Developed in-house by the traders at ORATS, the profit attribution calculation breaks down how greeks, skew and theoretical values impact your trades. We calculate this on a per-trade basis, then add it up to get a total portfolio value. For example, if yesterday the debit cost of your trade was $1.25, and today it's $1.60, where is the $0.35 price increase coming from? We break it down into eight factors: Delta, Gamma, Vega, Prior and Current Marks, Theta, Slope, and Unknown. The delta of a call will add to the profit if the stock is up. The gamma will add to any long option where the stock moved. The vega will add to the profit of a long option if the IV is up. The theta will add to profit for any short options. The current mark minus the theoretical value will add to profit if greater than zero. The prior theoretical value minus the prior mark will add to the profit if greater than zero. The put-call slope will add to the profit for long put options. Unknown is what's left over after adding all these attributions together and comparing to the actual change. #### Trade history Take a deep dive into your trade's intraday history in the Trade History tab. Uncover when, how, and why your trade moved during the past day, week, or month. Explore how the Greeks and IV affected your trade price, and see which bars had the highest volume. Once you've placed your order, you can use this tab to figure out which factors contributed to your gain or loss on the trade. For forward-looking payoff analysis (POP%, reward-to-risk, and "What if?" scenarios) and portfolio-wide risk, see the Charting and trade analysis lesson. --- ### Exit alerts Once you've analyzed your trade and you're comfortable with the payoff structure, it's time to prepare yourself for anything that might happen during the life of the trade. Exit alerts are an easy way to get notified via email, text, or web of something important happening to your trade. ORATS offers five types of trade alerts to help cover anything that might come up: **Trade alert:** Alert whenever the profit/loss %, trade price, or other trade-specific criteria crosses a certain threshold. **Event alert:** Alert a number of days before an earnings, ex-dividend, conference, or stock split event. **Indicator alert:** Alert whenever an indicator for a symbol is above or below a certain amount. **Leg alert:** Alert whenver an option leg delta is above or below a certain amount. **Time alert:** Alert a number of days before or after entry. --- ### Execution algos There's one last thing you need to do before sending your order off to a broker - set your price. You've done a lot of analysis and preparation to get to this critical point, so it shouldn't be glossed over. You can take a simple or advanced approach to setting your price. #### Simple approach The simple approach involves sending a limit order using theoretical edges to determine the best price. Our S% edge is useful for determining a fair price for the trade (often somewhere between the bid and ask). #### Advanced approach Many options trading platforms are beginning to offer some variant of "smart execution", which means they change the limit price of your order as it spends more time in the market. Often, this involves traversing the bid-ask spread in some optimal way with the intention of getting you the best fill. This is really difficult to get right, but is a critical component of any trading strategy. Stay tuned - we're working on some really neat tools related to advanced execution algos. --- ### Broker connections Once you've completed the steps above, you're ready to submit your order to a broker. Because ORATS isn't a broker, we've added several popular brokers to our platform for you to connect to: Tradier, TradeStation, and Interactive Brokers. We believe that being broker-agnostic helps level the playing field and allows you to choose your brokerage based on your speciic investment needs. If we don't support your broker, please reach out to us at support@orats.com. One caveat: the Interactive Brokers integration relies on their API, which has known issues. While we take precautions, it can occasionally produce errors or unexpected behavior, so please review and confirm your trades carefully. Of course, we understand that you might not want to trade live all of the time. ORATS offers a feature-complete paper trading platform so that you can test your strategies without risking real money. After submitting your trade, it's time for the final and perhaps most important pillar of successful options trading - review. In the next lesson, we'll explore how to use the trade journal to track your performance and learn the best practices that separate successful traders from the rest. Consistent review and reflection on your trades is what ultimately transforms good traders into great ones. --- ## 406 - Review Source: https://orats.com/university/review After mastering research, implementation, and risk management, we arrive at the fourth and final pillar of successful options trading - review. The Trade Journal transforms your trading history into actionable insights, helping you identify what works, what doesn't, and most importantly, why. --- ### Position tracking The Trade Journal works primarily with ORATS paper trading accounts, with additional support for Interactive Brokers through CSV imports. #### Automatic synchronization For paper trading accounts, the journal runs automated processes after market close each weekday, capturing all executed trades with precise entry and exit prices. The system automatically recognizes multi-leg strategies like iron condors and credit spreads, classifying them based on their leg composition. Special events like assignments show as "assigned" in the order type column, while expired positions display their intrinsic value at expiration. During market hours, positions update every 15 seconds with real-time pricing and P&L calculations. The system accurately prices multi-leg strategies by accounting for each leg's contribution to the overall position. #### Interactive Brokers import For IBKR users, importing trading history is straightforward. Export your trades from TWS or Client Portal in CSV format, then drag and drop the file into the upload modal. The system automatically validates the format, maintains chronological order for accurate P&L calculation, and links related orders for spread identification. This integration allows you to analyze your entire IBKR trading history within the ORATS ecosystem, leveraging all the analysis tools covered throughout the university. --- ### Performance visualization and filtering The Trade Journal's interactive graph displays your cumulative profit/loss line alongside the underlying's candlestick chart, revealing the relationship between market movement and your performance. Click any point on the chart to see detailed position snapshots for that specific day, or drag to zoom into particular periods. Four key metrics update dynamically based on your selected timeframe: - **Starting P&L:** Your cumulative P&L at the beginning of the period - **Highest P&L:** Peak performance within the timeframe - **Lowest P&L:** Maximum drawdown point - **End P&L:** Final cumulative result These metrics help you understand not just your final results, but the volatility of your journey - critical for position sizing and risk management. The journal's filtering system allows you to analyze performance by underlying, strategy, or time period. The visual P&L distribution chart reveals which symbols generate consistent profits, while strategy filters help you compare the effectiveness of different approaches. The system automatically recognizes and abbreviates common strategies ("IC" for Iron Condor, "LCS" for Long Call Spread, etc.). Time-based analysis includes presets from 7D to All-time, or you can drag-select custom date ranges directly on the graph to analyze specific market events or trading periods. This granular control helps you identify exactly when and under what conditions your strategies perform best. --- ### Trade details and tool integration Below the performance graph, the comprehensive trade table provides granular details for every position. Each row displays: - Strategy classification (automatically identified based on leg composition) - Strike and expiration details with color-coded option types - Entry and exit prices for complete trades - Current mark for open positions - P&L in both dollars and percentages - Duration held (formatted as "3d", "2m 5d", or "4h 30m") The table offers multi-column sorting to identify patterns in your trading. For expired trades, the system clearly marks positions that expired with or without intrinsic value, showing the final settlement amount. The Trade Journal seamlessly connects with other ORATS tools. Use the "View" button to send open positions directly to Ticker Analysis for real-time Greeks and scenario analysis. For closed trades, the trade history integration lets you review the exact market conditions when you entered, including the volatility surface and price movements during that period. This integration creates a continuous feedback loop where each tool strengthens the others, helping you understand which setups consistently work in your favor and transforming random results into repeatable processes. --- ### Validating your edge through review The Trade Journal bridges the gap between theoretical backtesting and real-world execution, revealing whether your actual trading matches your expected edge. #### Comparing backtest to reality When you enter trades based on backtested strategies, the Trade Journal reveals whether those strategies perform as expected in live markets. If your backtests showed consistent profits but your journal reveals break-even results, you've identified a critical disconnect - perhaps slippage, timing, or behavioral factors are eroding your expected returns. Filter your journal by strategy type to see if certain approaches consistently outperform or underperform their backtested results. Are iron condors delivering the expected returns? Do your earnings plays capture the anticipated volatility crush? This validation loop helps refine your research parameters and identify which backtested patterns translate to actual profits. #### Behavioral patterns and execution quality The journal reveals patterns invisible in backtesting - like consistently closing winners too early (check those duration metrics) or letting losers run past your planned exit. Maybe you trade certain underlyings better than others, regardless of the theoretical edge. Perhaps your morning trades outperform afternoon entries. These insights help you optimize not just what you trade, but how and when you trade it. The combination of research (backtesting and optimization), implementation (scanning and order execution), risk management (Greeks and position sizing), and review (journaling) creates a complete feedback system where each pillar strengthens the others. --- ### The four pillars of options trading You've now completed your journey through all four pillars of the ORATS methodology, each essential for professional options trading. **Research** is where edge discovery begins. The Backtester reveals which strategies have worked historically across 15+ years of data. Through optimization, you refine parameters to maximize returns while managing drawdowns. You study historical volatility patterns, predictive indicators, and market inefficiencies. This pillar transforms speculation into statistical edge identification. **Implementation** turns research into action. Stock and option scanners identify today's opportunities that match your researched criteria. Trade Ideas aggregates signals from multiple sources. You find specific trades, evaluate theoretical edges, and prepare orders for execution. This pillar bridges the gap between knowing what works historically and finding it in today's market. **Risk** keeps you in the game. Ticker Analysis reveals your Greeks exposure - delta (directional risk), gamma (acceleration risk), theta (time decay), and vega (volatility risk). Payoff diagrams visualize potential outcomes. Position sizing ensures proper capital allocation. You understand exactly what can go wrong and plan accordingly. This pillar transforms blind hope into calculated exposure. **Review** is where learning happens. The Trade Journal automatically tracks every position, revealing whether your researched edge materialized in live trading. You discover execution quality issues, behavioral patterns, and which market conditions favor your style. This isn't about individual wins or losses - it's about continuous refinement of your process. Together, these four pillars create a complete system where each trade makes you a better trader. Get started on your options trading journey today with ORATS. --- # Company, resources, and legal ## About Source: https://orats.com/about We believe that alpha is a consequence of quality data. That's why we've built an entire ecosystem around hundreds of proprietary indicators, trading tools, APIs, and historical quotes. Since 2001, our products have served thousands of retail traders, hedge funds, and institutional clients. ### Our Story #### 1993 Matt Amberson starts as a CBOE market maker and hires statistically minded individuals for market making and options research. Techniques to calculate superior volatility calculations and forecasts are developed. #### 2001 Option Research & Technology Services (ORATS) is formed to offer options products using procedures developed for a successful market making operation. The Smoothed Market Values (SMV) system is designed to produce the best greeks, implied volatilities and theoretical values in the industry. #### 2005 Core data based on summarizations from the SMV system including implied earnings and dividends is offered as a product. #### 2010 Data APIs are offered to access information. Backtesting options strategies for clients are introduced. #### 2017 The first version of Wheel, our online platform for backtesting, is released to the public. #### 2019 SMV summarizations are enhanced with forward volatilities, skew granularities, and component calculations. #### 2020 Optimization services are offered to clients as a way to quickly test thousands of parameters and indicators to find the best-performing investment strategies. #### 2022 The ORATS Dashboard is launched, adding stock scanning, trade building, earnings analysis, and more to our suite of web tools. #### 2023 The Dashboard is augmented with new broker integrations and better trading capabilities. The new backtest finder is launched, giving users the ability to search, filter, and sort millions of backtests. More tutorials and an upgraded website compliment the new features. ### Our Team Matt Amberson, Founder & Principal Matt started ORATS in 2001 and has served thousands of clients in his two decades at the helm. Before ORATS, Matt worked as a market maker on the floor of the CBOE. Jon Kong, Director of Engineering Jon has been with ORATS since 2007, leading the engineering efforts in building out our products, services, and IT infrastructure. Tyler Cheves, Product Manager Before working at ORATS, Tyler created an options trading platform on iOS. His experience as a developer, trader, and designer helps us improve and expand our product offering. Wendy Rauch, Dividend Analyst Wendy has been our lead dividends researcher since 2009. Prior to ORATS, Wendy worked as a public relations manager for a large mutual fund management company. Jonathan Sleeuw, Software Engineer Jonathan has served a variety of roles at ORATS over the years. With decades of experience working within financial firms, Jonathan provides valuable insight and development tips. ### Learn from an ex-market maker Weekly options education hosted by ORATS founder Matt Amberson. (Recent webinar videos are loaded dynamically from YouTube and are not included in this static extract.) --- ## FAQ Source: https://orats.com/faq ### What is an individual (non-professional) user? A Non-Professional Subscriber uses current options last sale information and current options quote information for personal non-business use. Nonprofessional Subscribers contract with an OPRA Vendor for receipt of OPRA data, and pay fees established by the Vendor for use of the data. Nonprofessional Subscribers must meet criteria that are stated in an Addendum for Nonprofessionals, which is attached to OPRA's forms of Electronic Subscriber Agreement and Hardcopy Subscriber Agreement (both of which are available on the OPRA website under the Agreements tab). In general a Nonprofessional Subscriber must satisfy the following criteria: Individual applies for OPRA data in his own capacity, not on behalf of a firm, corporation, partnership, trust or association (although certain single trustee trusts can qualify as a Nonprofessional Subscriber). Information is used solely in connection with the investment activities of the individual and the individual's immediate family members, not in connection with any trade or business activities. Information cannot be furnished to any other person or entity. Individual is not a securities broker-dealer, investment advisor, futures commission merchant, commodities introducing broker or commodity trading broker, member of a securities exchange or association or futures contract market, or an owner, partner or an associated person of any of the foregoing. Individual is not employed by a bank or insurance company or an affiliate of either to perform functions related to securities or commodity futures investment or trading activity. ### Where do I cancel? You can cancel your subscription at any time by logging into your account in the Dashboard, going to the Subscriptions tab, and clicking the cancel button. Make sure to login using the same email address you signed up with. ### How can I get real-time data? Live data is available by default in the Trading Tools package. To connect to live data, click the orange 'Get live data' link at the top of the Dashboard, or go to https://dashboard.orats.com/live-data. You will be prompted to sign agreements with OPRA and Cboe, and once completed you will have access to live data. ### Why do I only see one value for delta in the API? In our APIs, we show you the call delta by default, to get put delta you do call delta - 1. We only use one value for delta because our proprietary SMV process lines up the put and call volatilities. ### Why do you not offer put and call volatilities? Calls and puts should have the same implied volatility. The implied volatility should describe that portion of the options price attributable to the movement in the stock, ie the implied volatility. If your implieds are different you have not done enough work to identify what is causing the imbalance. ### How do I download historical EOD data? The near end-of-day historical data is delivered via AWS S3. After purchase, personal read-only S3 credentials and step-by-step instructions are issued on your downloads page at https://dashboard.orats.com/downloads. You can download the files with Cyberduck, a free desktop app for macOS and Windows, or with the AWS CLI using aws s3 sync. You do not need an AWS account, and you will not incur any AWS charges. Access lasts 14 days from purchase, and we send a reminder email when about a week remains. Please plan to download the dataset once: usage is monitored, and repeated re-downloading can automatically disable your access. ### Why do index prices not match other data sources? Indexes price options off of futures prices for each expiration, but futures prices do not exist for every expiration. Traders need to interpolate or calculate an implied futures rate for the expirations without a corresponding futures price expiration date. ORATS uses put-call parity to solve for the futures at each expiration. In ORATS tools and APIs, the stock price associated with the options trade is the implied futures price for the expiration. ### How many API hits do I have? You can view your API token, usage, and monthly limit by going to the API console in the Dashboard and logging in with the same email you signed up with. We will send you updates when you hit 50%, 75%, 90%, and 100% of your monthly limit. ### How many comma delimited tickers can I put in an API query? A max of 10 tickers is allowed for every endpoint that offers multiple comma-delimited tickers to be queried. ### Can I trade through ORATS? While ORATS is not a broker, you may connect to any of our supported brokers by going to the Broker Connect tab in the Dashboard. We currently support Tradier, TradeStation, and Interactive Brokers. ### Does ORATS offer intraday or 0 DTE backtesting? Yes. The Intraday Backtester runs 0DTE and short-dated backtests on 1-minute options data back to October 2020, with minute-level entries, exits, stops, and profit targets. It lives in the Custom Backtester and is included with every Trading Tools subscription; see orats.com/intraday-backtester for details. If you'd rather run your own backtests on raw data, the Intraday Data API has 1-minute data going back to August 2020. ### Does ORATS have an AI assistant? Yes. Otto is the AI agent built into the ORATS dashboard. Flip the sidebar from Dashboard to Agent and ask in plain English; Otto runs backtests, configures scanners, builds trade tickets, places paper trades, reads positions from your connected broker, and explains anything on the platform. Otto is included with every Trading Tools subscription; see orats.com/otto for details. ### My backtest is not working, what do I do? Backtests can fail for a number of reasons. The most common reason is user error. Please check your inputs and make sure they are valid. For example, if you are inputting DTE, make sure that they are positive, whole numbers, and the target is between the min and max. If your backtest is stuck in a queued or running state, there may be a delay on our server. Please wait at least a few hours before emailing us. ### Are delisted symbols included in the historical data sets? Yes, we present all standard contracts as they were presented from the markets on the days from 2015 to present. If symbols were delisted they still would appear in the data. ### Do you have options for futures? We do not cover futures (ES, GC, CL, etc). We only cover options on US equities, indexes, and ETFs. ### When does open interest update? Open interest updates nightly by the OCC, and is therefore updated on a daily basis in our tools and APIs. ### How can I get a sample of your data? You can get a sample of our historical data by going to https://orats.com/university/historical-data and clicking on the links to download the sample data. ### If I purchase near end-of-day recurring data, at what time can I expect the data to be delivered? Near end-of-day recurring data is ready each night at midnight. This is to comply with OPRA regulations for data delivery. ### Do you offer a free trial? We do not offer free trials at this time. ### Do you offer student discounts? We offer up to 50% off for students. To sign up, visit: https://orats.com/student. Note that this offer does not include live data or broker connections, which is available as an additional cost for both the Trading Tools and API packages. --- ## Partners Source: https://orats.com/partners ORATS is partners with several industry-leading brokers, data providers, and research platforms. If you are interested in working with us, please reach out to support@orats.com. ### Tradier Tradier provides a full range of services in a scalable, secure, and easy-to-use REST-based API for businesses and individual developers. Link: https://orats.com/tradier ### TradeStation Connect your TradeStation account in ORATS to trade options seamlessly. Sign up for a TradeStation account today and get up to $5,000 with a qualifying deposit. Link: https://www.tradestation.com/promo/orats/ ### Wall Street Horizon Wall Street Horizon provides institutional traders and investors with the most accurate and comprehensive forward-looking corporate event data. Link: https://orats.com/dividends ### Robot Wealth Robot Wealth runs quant trading Bootcamps several times a year. In Bootcamp, you will learn a simple, high-probability, quantitative approach to trading that can work for you. Link: https://orats.com/robotwealth ### Spintwig Spintwig provides actionable financial research, market insights, backtests, trading signals, money coaching, and more. Link: https://orats.com/spintwig ### Harvested Financial Harvested Financial tracks opportunity and manages options focused investment strategies, delivering analytics, research, and reports to all traders. Link: https://orats.com/harvested-financial ### Quantpedia Quantpedia's mission is to process financial academic research into a more user-friendly form to help anyone who seeks new quantitative and algorithmic trading strategy ideas. Link: https://orats.com/quantpedia ### Elite Trader EliteTrader.com is a group of 100,000+ financial traders that have meaningful conversations to help each other learn faster, develop new relationships, and avoid costly mistakes. Link: https://orats.com/elitetrader ### Mike Zaccardi Investments, markets, personal finance writer. Charts, charts, and a bit of weather. Link: https://orats.com/mike-zaccardi ### ES Invests The ultimate home for investors and traders looking for quality investing information without the BS. Link: https://orats.com/esinvests ### Volland Volland measures options dealer positioning on an order-by-order basis, accumulates it, and visualizes it. Link: https://orats.com/volland ### Slope of Hope Slope of Hope is where stock, options, and futures traders create charts, get trading ideas, and share knowledge. Link: https://orats.com/slopeofhope ### Options Trading IQ Options Trading IQ empowers individuals to take control of their financial destinies by providing free tutorials on just about every possible option topic. Link: https://orats.com/optionstradingiq ### Market XLS MarketXLS is the ultimate Excel solution for investors, featuring better research, faster decisions, and more profits. Link: https://marketxls.com/ ### The Smart Option Seller Lee Lowell, the best-selling author of Get Rich with Options, has been trading options for over 30 years. He has taught thousands of people how to trade options. Link: https://orats.com/smartoptionseller --- ## Videos and Webinars Source: https://orats.com/videos Watch our latest tutorial videos and live demos of the trading tools featuring Matt and Tyler. (Video listings are loaded dynamically from the ORATS YouTube channel and are not included in this static extract.) --- ## Disclaimer Source: https://orats.com/disclaimer The opinions and ideas presented herein are for informational and educational purposes only and should not be construed to represent trading or investment advice tailored to your investment objectives. You should not rely solely on any content herein and we strongly encourage you to discuss any trades or investments with your broker or investment adviser, prior to execution. None of the information contained herein constitutes a recommendation that any particular security, portfolio, transaction, or investment strategy is suitable for any specific person. Option trading and investing involves risk and is not suitable for all investors. All opinions are based upon information and systems considered reliable, but we do not warrant the completeness or accuracy, and such information should not be relied upon as such. We are under no obligation to update or correct any information herein. All statements and opinions are subject to change without notice. Past performance is not indicative of future results. We do not, will not and cannot guarantee any specific outcome or profit. All traders and investors must be aware of the real risk of loss in following any strategy or investment discussed herein. Owners, employees, directors, shareholders, officers, agents or representatives of ORATS may have interests or positions in securities of any company profiled herein. Specifically, such individuals or entities may buy or sell positions, and may or may not follow the information provided herein. Some or all of the positions may have been acquired prior to the publication of such information, and such positions may increase or decrease at any time. Any opinions expressed and/or information are statements of judgment as of the date of publication only. Day trading, short term trading, options trading, and futures trading are extremely risky undertakings. They generally are not appropriate for someone with limited capital, little or no trading experience, and/or a low tolerance for risk. Never execute a trade unless you can afford to and are prepared to lose your entire investment. In addition, certain trades may result in a loss greater than your entire investment. Always perform your own due diligence and, as appropriate, make informed decisions with the help of a licensed financial professional. --- ## Legal and Compliance Source: https://orats.com/legal ORATS terms and conditions, disclaimer, privacy notice, risk disclosure, ADV Part 2A, Form CRS, and OPRA forms. Documents available: - Terms & Conditions (https://orats.com/terms-conditions) - Disclaimer (https://orats.com/disclaimer) - Privacy Notice (https://orats.com/Privacy%20Notice.pdf) - Risk Disclosure (https://orats.com/risk-disclosure) - ADV Part 2A Brochure (https://orats.com/ADV%20Part%202A%20Brochure.pdf) - ADV Part 2B Brochure Supplement (https://orats.com/ADV%20Part%202B%20Brochure%20Supplement.pdf) - ADV Part 3 (CRS) (https://orats.com/ADV%20Part%203%20%28CRS%29.pdf) - OPRA Delayed Internal Use Agreement (https://orats.com/OPRA%20Delayed%20Internal%20Use%20Agreement.pdf) - OPRA Data Feed Request Form (https://orats.com/OPRA%20Data%20Feed%20Request%20Form.pdf) --- ## Risk Disclosure Source: https://orats.com/risk-disclosure ### Risk Disclosure Agreement ### I. Introduction #### A. Purpose of the agreement This Risk Disclosure Agreement ("Agreement") is provided by Options Research and Technology Services ("ORATS") to inform users of the potential risks associated with using ORATS products and services, including but not limited to the Data API, Intraday Data API, Trading Tools, and historical data sets. The purpose of this Agreement is to ensure that users are fully aware of the inherent risks in options trading, backtesting, and using financial data and tools. #### B. Acknowledgment of risks By using any ORATS product or service, you acknowledge that you have read, understood, and agree to the risks outlined in this Agreement. You recognize that options trading and the use of financial tools and data involve significant risks, including the potential for substantial financial losses. You agree that you are solely responsible for any investment decisions made using ORATS products and services. ### II. General Marketplace Risks of Options Trading & Backtesting #### A. Options trading risks Options trading involves a high degree of risk and is not suitable for all investors. The price of options can be highly volatile, and traders can lose their entire investment in a relatively short period of time. Options may expire worthless, resulting in the complete loss of the premium paid. Additionally, the complexity of options strategies can make it difficult for even experienced traders to fully understand and manage their positions. #### B. Backtesting limitations Backtesting, while a valuable tool for strategy development, has inherent limitations. Past performance does not guarantee future results. The effectiveness of a strategy in historical simulations does not ensure its success in live trading. Market conditions, regulations, and other factors can change, potentially rendering previously successful strategies ineffective or unprofitable. #### C. Volatility and market conditions Options prices are significantly affected by market volatility, which can change rapidly and unpredictably. Extreme market conditions, such as high volatility, low liquidity, or market disruptions, can lead to wide bid-ask spreads, slippage, and difficulty in executing trades at desired prices. These conditions can result in substantial losses for options traders. #### D. No guarantee of profit ORATS does not guarantee any profit or success in options trading or backtesting. All trading involves risk, and users should be prepared to lose their entire investment. No trading system or methodology is guaranteed to be profitable, and past performance is not indicative of future results. ### III. Specific Risks Related to ORATS Tools and Services #### A. Data API risks The ORATS Data API provides access to live, delayed, and historical end-of-day options data augmented with proprietary indicators. Users should be aware that: 1. Data may be subject to delays, inaccuracies, or errors. 2. Proprietary indicators are based on ORATS' methodologies and may not reflect market consensus or other analysis methods. 3. The API may experience downtime or performance issues, potentially affecting trading decisions. 4. Users are responsible for ensuring they have the necessary permissions and licenses to use the data, especially for institutional use. #### B. Intraday Data API risks The ORATS Intraday Data API offers one-minute options data, which carries additional risks: 1. Intraday data is more susceptible to short-term fluctuations and noise, which may not be representative of longer-term trends. 2. The high frequency of data updates increases the potential for temporary inaccuracies or inconsistencies. 3. Users must have robust systems capable of handling and processing large volumes of data quickly and accurately. 4. Strategies based on intraday data may be more sensitive to execution speed and market microstructure, potentially leading to higher transaction costs and increased risk. #### C. Trading Tools risks ORATS Trading Tools, including the option scanner, backtester, stock scanner, and other features, come with specific risks: 1. The tools are designed to assist in analysis and decision-making but should not be relied upon as the sole basis for trading decisions. 2. Backtesting results may be subject to overfitting and selection bias, potentially leading to unrealistic expectations of strategy performance. 3. Scans and filters may not capture all relevant market factors or may produce false positives or negatives. 4. The tools may not account for all transaction costs, slippage, or other real-world trading frictions, potentially overstating strategy performance. 5. The stock scan templates, option scan templates, and other pre-canned strategies or scans available in the ORATS dashboard are provided for informational and educational purposes only. They do not constitute financial advice, and ORATS is not acting as a financial advisor by providing these templates. #### D. Historical data risks ORATS provides historical options data sets, including near end-of-day and one-minute intraday data. Users should be aware that: 1. Historical data may contain errors, omissions, or adjustments that could affect analysis results. 2. Market conditions, regulations, and trading practices change over time, potentially limiting the relevance of historical data to current market conditions. 3. The data may not include all factors that influenced historical prices or market behavior. 4. Users are responsible for validating and verifying the accuracy and completeness of the historical data for their specific use cases. #### E. Broker connection risks While connecting to brokers through ORATS offers convenience and streamlined trading, it's important to be aware of the potential risks involved: 1. Security: Ensure you're using secure, private networks when accessing your brokerage account through any third-party application. 2. Technical issues: There may be occasional technical glitches or latency issues that could affect order execution or account information. 3. Limited functionality: Some features available directly through your broker might not be accessible via the ORATS platform. 4. Data discrepancies: There could be slight differences in data between what's shown on ORATS and what's on your broker's platform. 5. Regulatory compliance: Ensure that using a third-party connection complies with your broker's terms of service and relevant regulations. 6. Responsibility for trades: You are ultimately responsible for all trades placed through the ORATS-broker connection, including any errors or unintended orders. Always review and understand your broker's policies regarding third-party connections, and consider consulting with a financial advisor to discuss the risks and benefits of using such tools. ### IV. Options Trading Risks #### A. Complex nature of options Options are complex financial instruments that derive their value from underlying assets. The relationship between option prices and underlying asset prices is non-linear and can be influenced by multiple factors, including time to expiration, volatility, interest rates, and dividends. This complexity can make it challenging for traders to accurately assess the risk and potential reward of options positions. #### B. Potential for total loss Options buyers risk losing their entire investment if the option expires out-of-the-money. For options sellers, the risk can be even greater, as losses can potentially exceed the premium received. Certain strategies, such as naked short selling of options, can expose traders to theoretically unlimited losses. #### C. Time decay Options are wasting assets, meaning they lose value as time passes, all else being equal. This time decay, or theta, accelerates as the option approaches expiration. Time decay can work against long option positions and may require precise timing or significant price movements in the underlying asset for positions to be profitable. #### D. Liquidity risks Not all options contracts are equally liquid. Less popular or further out-of-the-money options may have wide bid-ask spreads or low trading volume, making it difficult to enter or exit positions at favorable prices. This lack of liquidity can lead to slippage and increased transaction costs, potentially eroding profits or exacerbating losses. ### V. Backtesting and Forecasting Risks #### A. Limitations of historical data Backtesting relies on historical data, which may not fully represent current or future market conditions. Historical data can be subject to survivorship bias, where delisted or bankrupt companies are excluded, potentially overstating historical performance. Additionally, historical data may not capture all relevant factors that influenced past market behavior. #### B. Overfitting and selection bias Backtesting carries the risk of overfitting, where a strategy is optimized to perform well on historical data but fails to generalize to new, unseen data. Selection bias can occur when strategies are chosen based on their past performance, potentially leading to unrealistic expectations of future performance. Users should be cautious of strategies that perform exceptionally well in backtests, as they may be the result of overfitting rather than robust, generalizable strategies. #### C. Changes in market conditions Markets evolve over time, with changes in regulations, trading technologies, market participants, and economic conditions. Strategies that performed well in the past may become less effective or even unprofitable as market conditions change. Users should be aware that backtesting results may not accurately predict future performance in different market environments. ### VI. Data and Technology Risks #### A. Data accuracy and reliability While ORATS strives to provide accurate and reliable data, users should be aware that: 1. Financial data can contain errors, omissions, or inconsistencies. 2. Data may be subject to revisions or corrections after initial publication. 3. Different data sources may provide conflicting information. 4. The methods used to calculate derived or proprietary indicators may change over time. Users are responsible for verifying the accuracy and reliability of data for their specific use cases. #### B. System outages and technical issues ORATS services rely on complex technology infrastructure. Despite best efforts to maintain system stability and reliability, users may experience: 1. Service interruptions or downtime due to maintenance, upgrades, or unforeseen technical issues. 2. Delays in data updates or API responses during periods of high market volatility or system load. 3. Temporary unavailability of specific features or tools. Users should have contingency plans in place to manage their trading activities during potential system outages or technical issues. #### C. Third-party data sources ORATS may rely on third-party data sources for certain information, such as fundamental data or news feeds. The accuracy and timeliness of this data are subject to the reliability of these third-party providers. ORATS cannot guarantee the accuracy or completeness of data from external sources. ### VII. Regulatory and Legal Risks #### A. Changes in regulations The options and financial markets are subject to ongoing regulatory oversight and changes. New regulations or changes to existing regulations may impact trading strategies, data availability, or the use of certain financial products. Users are responsible for ensuring their trading activities comply with all applicable laws and regulations. #### B. Tax implications Options trading can have complex tax implications. The tax treatment of options transactions may vary depending on the specific strategy employed, holding period, and individual circumstances. Users are responsible for understanding and managing the tax consequences of their trading activities and should consult with a qualified tax professional. #### C. Jurisdiction-specific risks Users from different jurisdictions may be subject to different laws, regulations, and restrictions regarding options trading and the use of financial data and tools. It is the user's responsibility to ensure compliance with all applicable local laws and regulations. ### VIII. Disclaimer of Liability #### A. No investment advice ORATS products and services, including data, tools, and analysis, are provided for informational purposes only and do not constitute investment advice. ORATS does not recommend any specific securities, strategies, or courses of action. Users are solely responsible for their investment decisions and should conduct their own research and due diligence. #### B. User responsibility Users of ORATS products and services assume full responsibility for their trading and investment decisions. By using ORATS offerings, users acknowledge that they have sufficient knowledge and experience to evaluate the risks associated with options trading and the use of financial data and tools. #### C. Limitation of liability To the fullest extent permitted by law, ORATS and its affiliates, officers, employees, and agents shall not be liable for any direct, indirect, incidental, special, consequential, or exemplary damages, including but not limited to, damages for loss of profits, goodwill, use, data, or other intangible losses resulting from the use of or inability to use ORATS products and services. ### IX. Acknowledgment and Agreement #### A. User's confirmation of understanding By using ORATS products and services, you confirm that you have read, understood, and agree to the terms of this Risk Disclosure Agreement. You acknowledge that you understand the risks associated with options trading, backtesting, and the use of financial data and tools. #### B. Agreement to terms You agree to use ORATS products and services at your own risk and accept full responsibility for any financial losses or damages that may result from your use of these offerings. You understand that past performance is not indicative of future results and that no guarantees of profit or success are made by ORATS. By proceeding to use ORATS products and services, you indicate your acceptance of this Risk Disclosure Agreement and your willingness to assume the risks associated with options trading and the use of financial data and tools. --- ## Terms & Conditions Source: https://orats.com/terms-conditions ### Research & Informational Services Agreement THIS RESEARCH & INFORMATIONAL SERVICES AGREEMENT (this "Agreement") is made on the date of initial login or payment for services, whichever is earlier. This is the Commencement Date. Option Research & Technology Services, LLC, an Illinois limited liability company ("ORATS"), located at 36 Maplewood Ave., Portsmouth, New Hampshire 03801; ### 1. DEFINITIONS AND INTERPRETATION 1.1 In this Agreement the following expressions shall have the following meanings: "Subscription Fees" mean the fees to be paid by the Client to ORATS in accordance with clause 4 for the provision of the Service as set out herein. "Business Days" means any day on which banks are generally open for business in the U.S. "Commencement Date" means the date on which this Agreement shall come into effect. "Intellectual Property Rights" means all intellectual property and all rights therein including all research reports, commentary and/or inventions (whether patentable or not, and whether or not patent protection has been applied for or granted), proprietary information, trademarks, service marks, trade names, logos, artwork, slogans, know-how, technical information, trade secrets, processes, utility models, computer models, works in which copyright subsists or may subsist (including computer software and preparatory and design materials therefor and any user manuals or related material) and all works protected by rights or forms of protection of a similar nature or having equivalent effect anywhere in the world. "Materials" means all materials (including but not limited to documents, reports, voice communication, data and software) which are created by ORATS and delivered to the Client in the course of providing the Service. "Service" means the Service to be provided by ORATS to the Client as set out herein and incorporated herein by this reference as if set forth. "Service User" means those individuals, if any, agreed in writing between ORATS and the Client who may receive the Service. 1.2 References to persons include individuals, bodies corporate (wherever incorporated) unincorporated associations and/or partnerships. 1.3 Headings are inserted for convenience only and shall not affect the construction or interpretation of this Agreement. ### 2. PROVISION OF THE SERVICE 2.1 In consideration of the payment by the Client of the Fees in clause 4.0, ORATS will supply the Service to the Client. The Client agrees to use the Service solely in accordance with the terms of this Agreement (including without limitation, clause 5). 2.2 ORATS undertakes and warrants that it will: 2.2.1 apply reasonable skill and care in the provision of the Service and 2.2.2 provide the Service in a timely and efficient manner, and subject to the terms in Schedule 1. 2.3 Nothing in this Agreement shall prevent ORATS from providing services, even the same or similar services to the Service to any third party regardless if such third party conducts similar business activities to the Client. 2.4 In providing the Service and/or the Materials to the Client, ORATS gives no guarantee as to the accuracy of the information provided. The Client accepts the Services "as is" and for "informational purposes only" and represents that it is sophisticated and capable of making its own investment decisions. The Services and/or Materials are not investment advice and the Client shall not rely on the Services and/or Materials in connection with investment decisions. ORATS, or its employees, may buy or sell securities that are listed in research reports provided to the Client, at any time without prior notice. 2.5 ORATS does not make discretionary recommendations as to particular securities or derivative instruments, and does not advocate the purchase or sale of any security or investment by you or any other individuals based on your investment objectives. ORATS does not guarantee the accuracy, completeness or timeliness of the Information. As set forth in greater detail below, ORATS offers no warranty of any kind or nature relative to the Information provided. 2.6 The Service and features of the Service are provided for informational purposes only and should not be construed as tailored investment advice. You should not rely solely on the information provided by ORATS in making any investment. Rather, you are advised to use such information only as supplemental information, or a starting point for doing additional independent research in order to allow you to form your own informed opinion regarding investments and trading strategies and/or choices. 2.7 Service provided by ORATS does not constitute a solicitation for the purchase or sale of securities. By using the Service you assume full responsibility for any and all gains and losses, financial, emotional or otherwise, experienced, suffered or incurred by you. The Service is not intended to provide tax, legal or investment advice, which you should obtain from your professional advisor prior to making any investment of the type discussed in the Information. 2.8 You acknowledge and agree that you must: (a) provide for your own access to the World Wide Web and pay any service fees associated with such access, and (b) provide all equipment necessary for you to make such connection to the World Wide Web, including a computer, software, a modem and a working telephone line. In consideration of your use of the Service, you agree: (a) to provide true, accurate, current and complete information in all material respects, as requested by ORATS and (b) to update such information to keep it true, accurate, current and complete in all material respects. If any information provided by you is untrue, inaccurate, not current or incomplete in any material respect, ORATS has the right to terminate your account and refuse any and all current or future use of the Service. You agree not to resell or transfer the Service or use of or access to the Service. ### 3. COMMENCEMENT AND DURATION This Agreement, including the provision of the Service, shall commence on the Commencement Date and shall continue unless and until terminated by either party in accordance with the terms of this Agreement. ### 4. FEES 4.1 The Client shall pay ORATS a Subscription Fee with the initial installment due on the Commencement Date, as described further below in clause 4.2. 4.2 The Subscription Fee (together with any applicable VAT or any other relevant tax) shall be paid monthly, quarterly or annually in advance, on a pro rata basis, due on the Commencement Date and thereafter on a monthly, quarterly or annual basis, due and payable no later than the fifth (5th) business day after each new calendar period. 4.3. The Subscription Fee will be automatically renewed on the day after the termination date. 4.4 The Subscription Fee will not include the penalty payments referenced in clause 5.1 below, which represent liquated damages for unauthorized distributions by the Client. The Client agrees to pay ORATS such penalty amounts within five (5) business days upon written notice by ORATS. 4.5 Payment should be made to ORATS in accordance with the payment instructions which are communicated to the Client. ### 5. USE OF THE SERVICE 5.1 ORATS will provide the Service to the Client solely to the Client's designated Service User (which shall be the sole Service User of the Client entitled to access to the Service and the Materials). The Client undertakes to ensure that the Service User agrees to use the Service and the Materials solely for his/her own purposes, and not to distribute/redistribute the Service or the Materials, including the publications, to third parties, including other employees or agents of the Client. The Client acknowledges that ORATS may employ technology for the distribution of materials that informs ORATS of any distribution of its related materials, including any such publications, that is not in accordance with this clause 5.1. 5.2 Upon ORATS' written consent, the Client may replace a designated Service User acceptable to ORATS, with another Service User of the Client, by notifying ORATS by email (or other method of communication) of the replacement Service User's electronic address. 5.3 ORATS reserves the right, in its sole discretion, to remove a Service User from the provision of the Service if it reasonably believes that the Service User is abusing the terms of use of the Service or misusing the information provided by ORATS, or it is otherwise not in the best interest to provide the Service to such individual. In such circumstances, the Client may replace the Service User. ORATS agrees not to unreasonably exercise its right to remove a Service User from the Service. 5.4 It is understood and agreed that the Client will use the information and data generated by ORATS for informational purposes only. ORATS does not provide the Service as advice for the purchases or sales of securities, or classes or types of securities; the timing or other planning of transactions in securities; or movements, trends, or patterns in or affecting securities markets. 5.5 Upon ORATS' written consent, the Client may communicate to another Service User of the client that the research was generated using software and data provided by ORATS, by notifying ORATS by email (or other method of communication) of the other Service User's electronic address. ### 6. INTELLECTUAL PROPERTY RIGHTS 6.1 ORATS is the exclusive owner and retains all intellectual property and proprietary rights subsisting in the Service and/or the Materials (in all forms and mediums regardless of the manner of transmission) created by ORATS during the term of this Agreement shall be and shall remain ORATS's exclusive property. 6.2 ORATS grants to the Client a non-transferable, non-exclusive, revocable limited license to use the Service and Materials for its own internal business purposes only, during the term of, in strict accordance with, this Agreement. The Client shall have no rights to such Service and Materials other than expressly set out in this Agreement. 6.3 Upon termination of this Agreement for any reason, the license granted herein to Client shall immediately terminate; provided, however, that Client is permitted to retain the Materials provided by ORATS pursuant to this Agreement for use in Client's own internal business after termination of this Agreement. ### 7. CONFIDENTIALITY 7.1 The Client agrees to keep confidential all information concerning the business affairs and practices of ORATS ("Confidential Information") regardless if such information is marked as "confidential." The Client hereby agrees not to disclose such Confidential Information, including research reports, to any third party without the prior written consent of ORATS. 7.2 The Client may disclose Confidential Information if required to do so by law or any applicable regulatory authority, provided that the Client gives immediate notice to ORATS that such Confidential Information is so required to be disclosed and before doing so the Client gives ORATS an opportunity to challenge that requirement unless the giving of that notice or of that opportunity would place the Client in breach of an order of a court or other authority of competent jurisdiction. 7.3 The obligation of confidentiality contained in clause 7.1 shall not apply to Confidential Information which: 7.3.1 was already in the possession of the Client prior to the date on which the Client first entered into any discussion or arrangements (which includes the subscription trial period of the Service) with the Client; 7.3.2 was in the public domain at the time of receipt by the Client or has subsequently entered the public domain other than as a result of a breach of this Agreement or any other duty of confidence. 7.4 This clause 7 shall survive termination of this Agreement. ### 8. LIABILITY 8.1 The Client acknowledges that ORATS has no contractual relationship with the Service Users and accordingly, the Client indemnifies ORATS against any losses, claims, damages, proceedings or actions suffered by ORATS as a result of claims by Service Users. 8.2 The Client acknowledges that ORATS shall not be liable for any loss, including the loss of profits, (whether actual or anticipated, or direct or indirect), special, indirect, economic or consequential losses (including, without limitation, loss of sales, contracts, customers savings or goodwill). 8.3 ORATS's entire liability to the Client, howsoever incurred arising out of or in connection with this Agreement and the Service, including without limit, for breach of contract, misrepresentation (except that fraudulently made) and tort (including negligence) is limited to $1,000. Nothing herein shall preclude the Client from seeking remedies under federal or state securities laws. ### 9. TERMINATION 9.1 This Agreement shall remain in force and effect for an initial term communicated to the client. ORATS or The Client may, however, terminate this Agreement at any time by giving to ORATS not less than thirty (30) days' notice in writing provided that the Client shall not be entitled to terminate this Agreement pursuant to this clause 9.1 before the initial term communicated to the client. If no initial term was communicated to the client then the term is monthly. 9.2 Either party may at any time by notice in writing terminate this Agreement if: 9.2.1 the other party is in breach of any provision of this Agreement which, if the breach is capable of remedy, has not been remedied within thirty (30) days of the notice from the non-defaulting party specifying the breach and the steps required to remedy it; or 9.2.2 the other party becomes insolvent or is unable to pay its debts, or enters into a compulsory or voluntary liquidation (other than a voluntary liquidation for the purposes of reorganization) or compounds with or convenes a meeting of its creditors or has a receiver or manager or an administrative receiver or an administrator appointed over all or part of its assets, or ceases for any reason to carry on business or takes or suffers any similar or analogous action in any other jurisdiction. 9.3 ORATS may terminate this Agreement at any time without notice, provided that unearned fees are returned to the Client, if; 9.3.1 any third party supplier of information or services to ORATS notifies ORATS that it has infringed another third party's Intellectual Property Rights and is unable to supply the necessary information or services to ORATS; or 9.3.2 regulatory, legal or other circumstances make it not possible to continue providing the Service. ### 10. NON-PUBLIC INFORMATION 10.1 From time to time ORATS and its officers and employees may become aware of non-public information about investments or investment opportunities which could reasonably be expected to affect investment decisions ("Inside Information"). Various procedures are used to isolate Inside Information from ORATS Services. However, to comply with applicable law, from time to time ORATS may be required to abstain from actions, for itself and for the Client, based on the ORATS' possession of Inside Information. Under no circumstances is ORATS obligated to give the Client, or use for the benefit of the Client, any Inside Information in the Adviser's possession. ### 11. MISCELLANEOUS 11.1 Force Majeure If either party is unable to perform its obligations under this Agreement (except the Client's obligation to pay the Subscription Fees) due to significant events or circumstances beyond the party's control, then that party will not be in breach of the Agreement. If the events or circumstances causing the delay, interruption or inability to perform obligations under this Agreement persist for more than sixty days, either party may terminate this agreement with immediate effect, by giving the other party notice in writing. 11.2 Dispute Resolution 11.2.1 The parties agree to attempt to settle any dispute between them within ten (10) Business Days from the date on which either party brings the dispute to the attention of the other. 11.2.2 If the dispute has not been resolved within ten (10) Business Days the parties agree to submit the dispute to mediation for resolution. The parties agree to attempt to settle the dispute through mediation for a period of twenty (20) Business Days or such longer period as may be agreed in writing between the parties. 11.2.3 If the parties fail to resolve the dispute after thirty (30) Business Days, (or such longer period as may have been agreed between the parties under clause 10.2.2), either party may submit the dispute to a court or other appropriate body or tribunal for determination. 11.2.4 Nothing in this clause 10.2 shall prevent either party from seeking urgent or equitable injunction relief in any appropriate court. 11.3 Notices Any notice required or permitted to be given by either party under this Agreement to the other must be in writing at the address listed above or a current address know by the parties, including email current email addresses. All notices must be delivered by recorded delivery, by hand, email or by courier, to the attention of the signatories to this Agreement (which may be amended from time to time by notice served in accordance with this clause 11.3). 11.4 Assignment Neither party may assign his or its rights under this Agreement without the prior written consent of the other. Assignment shall be defined in accordance with the Investment Advisers Act of 1940, as amended. 11.5 Variation This Agreement may not be varied, amended or modified in any manner except by an instrument in writing signed by a duly authorized representative of each of the parties to this Agreement. 11.6 Waiver No delay of failure on the part of either party to exercise or to enforce any right given to it by this Agreement or at law, or any custom or practice of either party at variance with the terms of this Agreement shall constitute a waiver of such party's rights under this Agreement or operate so as to prevent the exercise or enforcement of any such right at a time. 11.7 Severability If any provision of this Agreement is held to be invalid or unenforceable, in whole or in part, that provision or part shall to that extent be deemed not to form part of this Agreement. However, the validity and enforceability of the remainder of this Agreement shall not be affected. 11.8 Entire Agreement This Agreement constitutes the entire agreement between the parties, and supersedes any previous agreement or understanding between the parties in relation to the subject matter hereof. All other terms and conditions express or implied by statute or otherwise, are excluded to the fullest extent permitted by law. This Agreement may not be varied except in writing signed on behalf of the parties. 11.9 Governing Law The validity, construction, interpretation and administration of this Agreement shall be governed by the substantive laws of the State of New Hampshire. 11.10 Agreement Acceptance This offer of the Agreement by ORATS to the Client will be open to acceptance by the Client for thirty (30) Business Days from Commencement Date above, and will come into force when ORATS receives the Agreement, without amendment, signed and dated by the Client. 11.11 Receipt of Parts 2A and 2B of Form ADV The Client hereby acknowledges receipt of Parts 2A and 2B of Form ADV (the "Brochure"), which contains information concerning the full range of the ORATS services and fees. Annual updates of the Brochure will either be sent to the Client or are made available upon written request, if applicable. The latest Parts 2A and 2B are available for download at the following links: ORATSADV2A.pdf (https://s3.amazonaws.com/assets.orats.com/ORATSADV2A.pdf) MAmbersonADVPart2B.pdf (https://s3.amazonaws.com/assets.orats.com/MAmbersonADVPart2B.pdf) AdvisoryServices.pdf (https://assets.orats.com/ORATS%20CRS%20ADV%20Part%203.pdf) --- # Blog The ORATS blog has about 371 posts across Earnings, Backtesting, Market Events, In the Media, Indicators, Data API, Trading, and Dividends. The full post archive is at https://orats.com/blog, and a curated index with recent posts is in https://orats.com/llms.txt.