Strasmore Research
Matuto Matt ConnorNi Matt Connor · data as of August 6, 2026 · refreshed weekly

Paano Basahin ang Options Symbol sa OSI Format

Alamin kung paano i-decode ang OSI root, expiry, call o put flag at eight-digit strike, pati adjusted roots, SPXW at bakit ang 00007500 ay $7.50.

Ang options symbol ay isang string na naglalaman ng apat na impormasyon: ang root ng underlying, expiration date, call o put flag, at strike price. Tinatawag na OSI ang format, mula sa Options Symbology Initiative na pinagtibay ng US options industry noong 2010. Nakabatay rito ang bawat order ticket at data feed. Kapag natutuhan mo ang apat na field, makikilala mo agad ang anumang listed US option symbol.

Ano ang apat na field sa isang option symbol?

Ang canonical OSI symbol ay 21 characters, sa isang fixed na ayos:

  • Ang root, na may anim na characters. Naka-left align ito at nilalagyan ng spaces sa kanan kapag mas maikli sa anim na characters ang root ng underlying.
  • Ang expiration, na may anim na digit sa ayos na YYMMDD. Ang 260116 ay January 16, 2026.
  • Ang right, na may isang character: C para sa call at P para sa put.
  • Ang strike, na may walong digit. Nakasaad ito sa thousandths of a dollar at walang decimal point.

Inaalis ng karamihan ng brokers at websites ang padding at ipinapakita ang compact form. May ilang feed din na naglalagay ng marker gaya ng O: sa unahan ng string. Hindi nagbabago ang parse dahil dito. Ang huling 15 characters ay palaging ang date, right, at strike. Kaya ang root ay anumang nasa unahan ng mga ito. Hinahati ng panel sa ibaba ang mga aktuwal na contract batay sa patakarang ito at inilalagay ang mga na-parse na field sa tabi ng expiration na nasa contract record mismo.

QueryIsang expiration, apat na strike: bawat OSI field, hinango mula sa symbol
Ang eksaktong SQL sa likod ng bawat numero
SELECT
    contract,
    substring(contract, 1, length(contract) - 15)                  AS root,
    substring(contract, length(contract) - 14, 6)                  AS expiry_field,
    substring(contract, length(contract) - 8, 1)                   AS right_code,
    substring(contract, length(contract) - 7, 8)                   AS strike_field,
    toFloat64(substring(contract, length(contract) - 7, 8)) / 1000 AS strike_dollars,
    listed_expiration
FROM
(
    SELECT
        replaceRegexpOne(ticker, '^O:', '')               AS contract,
        formatDateTime(any(expiration_date), '%b %e, %Y') AS listed_expiration
    FROM global_markets.options_greeks
    WHERE underlying_symbol = 'SPY'
      AND expiration_date = '2026-01-16'
      AND toFloat64(strike_price) IN (500, 600, 650, 700)
      AND date >= '2025-12-01'
      AND date <  '2026-01-01'
    GROUP BY contract
)
ORDER BY strike_dollars ASC, right_code ASC
Run this yourself

Ang unang row ay nagpa-parse sa root na SPY, date field na 260116, right na C, at strike field na 00500000. Kapag hinati ito, ang strike ay $500. Ang sariling expiration record ng contract ay Jan 16, 2026, na tumutugma sa anim na digit sa loob ng string. May 8 contracts ang panel: parehong strikes na naka-list bilang calls at puts. Isang character lamang ang naghihiwalay sa call sa katumbas nitong put. Kaya iyon ang character na kailangang i-check nang dalawang beses sa isang order ticket. Kung pamilyar ang mga field dito mula sa broker screen mo, tinatalakay sa pagbasa ng isang option chain ang mga column na nakapaligid sa mga ito.

Paano magbasa ng options symbol sa command line

Hindi kailangan ng parse ng libraries o network access. Fixed width ang mga field at sinusukat mula sa kanan, kaya sapat na ang substring expansion sa bash. I-paste ito sa terminal:

SYM=SPY260116C00650000
echo "root   ${SYM:0:$(( ${#SYM} - 15 ))}"
echo "expiry ${SYM: -15:6}"
echo "right  ${SYM: -9:1}"
echo "strike ${SYM: -8}"

Kailangan ang space bago ang bawat negative offset. Kung wala ito, binabasa ng bash ang :- bilang default value expansion at maling resulta ang ipinapakita.

Para sa listahan ng mga symbol, pareho ang arithmetic na ginagawa ng awk gamit ang one-based positions:

awk '{
  n      = length($0)
  root   = substr($0, 1, n - 15)
  expiry = substr($0, n - 14, 6)
  right  = substr($0, n -  8, 1)
  strike = substr($0, n -  7, 8)
  printf "%-6s 20%s-%s-%s  %-4s $%.3f\n",
         root,
         substr(expiry, 1, 2), substr(expiry, 3, 2), substr(expiry, 5, 2),
         (right == "C" ? "call" : "put"),
         strike / 1000
}' <<'EOF'
SPY260116C00650000
SPY260116P00650000
SPXW260116C05500000
XYZ1260116C00007500
EOF

Ang bersyon sa python3 ay humahawak sa padded na 21-character form at feed prefix sa iisang function. Wala itong ginagamit maliban sa standard library:

from datetime import datetime

def parse_osi(symbol):
    s = symbol.strip()
    if s.startswith("O:"):
        s = s[2:]
    s = s.replace(" ", "")
    return {
        "root":   s[:-15],
        "expiry": datetime.strptime(s[-15:-9], "%y%m%d").date(),
        "right":  "call" if s[-9] == "C" else "put",
        "strike": int(s[-8:]) / 1000,
    }

samples = [
    "SPY   260116C00650000",
    "O:SPY260116P00650000",
    "SPXW  260116C05500000",
    "XYZ1  260116C00007500",
]

for sym in samples:
    f = parse_osi(sym)
    print("{:<6} {} {:<4} ${:,.3f}".format(f["root"], f["expiry"], f["right"], f["strike"]))

Parehong tumatakbo ang dalawang snippet sa stock Ubuntu image na walang kailangang i-install bukod sa awk at python3. Wala ring kumokonekta sa network, kaya magkapareho ang output ngayon at makalipas ang limang taon.

Bakit ang strike na 00007500 ay nangangahulugang $7.50?

Ang strike field ay may walong digit, walang decimal point, at ang unit nito ay one thousandth of a dollar. Hatiin sa 1,000 upang makuha ang halaga sa dollars. Ang 00007500 ay 7,500 thousandths, o $7.50. Ang 07500000 ay 7,500,000 thousandths, o $7,500. Tatlong zero ang pagkakaiba ng mga ito sa loob ng sunod-sunod na mga zero, at ito ang pinakakaraniwang maling basa sa buong format. Pinananatiling pare-pareho ng fixed width ang haba ng bawat symbol. Nagbibigay rin ang thousandths unit ng puwang para sa mga strike na nagtatapos sa fraction of a cent matapos ang corporate action.

Kailangang masaklaw ng isang field ang lahat ng listed strike, mula sa mababang presyo ng share hanggang sa index level na may apat na digit. Binabasa ng panel sa ibaba ang pinakamababa at pinakamataas na strike para sa ilang underlying at ipinapakita ang walong digit eksakto kung paano lumilitaw sa loob ng symbol.

QueryIsang eight-digit field, mula sa single-dollar strikes hanggang index levels
Ang eksaktong SQL sa likod ng bawat numero
SELECT
    underlying,
    round(toFloat64(min(strike)), 2) AS lowest_strike,
    argMin(strike_field, strike)     AS lowest_strike_field,
    round(toFloat64(max(strike)), 2) AS highest_strike,
    argMax(strike_field, strike)     AS highest_strike_field,
    uniqExact(strike)                AS strike_count
FROM
(
    SELECT
        underlying_symbol AS underlying,
        strike_price      AS strike,
        substring(replaceRegexpOne(ticker, '^O:', ''),
                  length(replaceRegexpOne(ticker, '^O:', '')) - 7, 8) AS strike_field
    FROM global_markets.options_greeks
    WHERE underlying_symbol IN ('KO', 'NVDA', 'AAPL', 'SPY', 'SPX')
      AND date >= today() - 7
)
GROUP BY underlying
ORDER BY highest_strike ASC
Run this yourself

Sa mga session na sakop ng view, ang KO ay naglilista ng mga strike mula $32.5 hanggang $125. Sa loob ng symbol, nakasulat ang mga ito bilang 00032500 at 00125000. Sa dulong bahagi ng panel, umaabot ang SPY sa $1480, o 01480000, na nakakalat sa 462 magkakaibang strike. Pareho ang walong digit at parehong divisor, anuman ang price level.

Adjusted options: ano ang ibig sabihin ng numero sa dulo ng root

Ang standard equity option ay naghahatid ng 100 shares. Maaaring magbago ito dahil sa corporate actions: split na may hindi whole-number ratio, merger na bahagyang binayaran sa cash, spinoff, o special cash dividend na lampas sa threshold. Ina-adjust ng OCC ang open contracts at binibigyan ang mga ito ng bagong root—ang dating root na may idinagdag na digit. Ang ABC ay nagiging ABC1 sa unang adjustment at ABC2 sa ikalawa. Hindi nagbabago ang layout, kaya patuloy na gagana ang parser. Nagbabago ang deliverable sa likod ng contract, ngunit walang sinasabi ang symbol tungkol dito.

Ginagamit din ang digit sa dulo upang markahan ang mini contracts, gamit ang 7. Ang mga ito ay sumasaklaw sa 10 shares sa halip na 100. Sa alinmang kaso, senyales ang numero na kailangang basahin muna ang contract terms bago ihambing ang strike sa iba pang strike. Ipinapaliwanag sa aming note tungkol sa kung paano naaapektuhan ng stock splits ang options ang ratio math para sa strike at deliverable.

Bihirang dagdagan ng mga bagong expiration ang adjusted series. Ang root na gaya ng ABC1 ay unti-unting kumakaunti habang nag-e-expire ang mga listed date nito, sa halip na mapunan ng mga bagong date. Maaari itong tuluyang mawala sa chain kapag nag-expire ang huli nitong contract. Nasa OCC adjustment memo para sa contract ang terms, hindi sa string. Nakasaad doon ang binagong deliverable, ang cash component kung mayroon, at ang multiplier na kasama nito. Hangga’t hindi nababasa ang memo, ang adjusted strike at standard strike sa parehong underlying ay dalawang magkaibang bagay na gumagamit ng parehong walong digit.

SPX, SPXW, at ang ibig sabihin ng W

May sariling roots ang index options. Ang S&P 500 complex ang unang karaniwang nakikita ng maraming trader. Tinutukoy ng SPX at SPXW ang parehong index at pareho ang 21-character layout. Hindi na pahayag ang W tungkol sa weekly listing, kahit iyon ang ipinahihiwatig ng pangalan. Ang SPX ang AM settled root: ito ang third Friday contract na ang settlement value ay binubuo mula sa opening prints ng mga component ng index sa expiration Friday. Natatapos ang trading dito sa Huwebes bago iyon. Ang SPXW ang PM settled root. Sakop nito ang lahat ng iba pang date sa calendar, mula Monday hanggang Friday dailies hanggang month-end contracts. Ang bawat isa ay nakikipag-trade hanggang sa close ng sarili nitong expiration day.

Hinahati rin ng calendar ang mga contract sa parehong paraan. Isang AM settled third Friday contract para sa bawat monthly cycle ang nasa SPX root. Ang bawat iba pang forward date sa index ay kabilang sa SPXW. Sa isang buong chain, karamihan ng mga expiration na nakikita ay nasa SPXW. Walang ipinapakitang ganito ang string nang mag-isa. Hint lamang ang root, at ang contract specification ang awtoridad. Dalawang root, isang index, isang screen, at settlement mechanics na detalyadong ipinapaliwanag sa AM versus PM settled options.

Ano ang hindi kailanman sinasabi ng isang option symbol

Ganap na kinikilala ng apat na field ang isang contract, ngunit kaunti lamang ang inilalarawan nito. Partikular:

  • Ang multiplier. Ang standard US equity option ay sumasaklaw sa 100 shares, ngunit walang field sa string ang nagsasabi nito. Magkaiba ang adjusted series at mini series, at may sariling multiplier ang mga index product.
  • Ang settlement style. Walang marka sa symbol kung AM o PM settlement, o kung cash settlement o physical delivery. Sa index roots, maaaring magbigay ng pahiwatig ang convention, ngunit ang contract specification lamang ang authoritative.
  • Ang deliverable. Pagkatapos ng adjustment, hindi na valid ang palagay na 100 shares. Pareho pa rin ang hitsura ng symbol maliban sa idinagdag na digit.
  • Natitirang oras. Nagbibigay ang date field ng expiration, hindi countdown. Ang pag-convert nito sa days to expiry ay arithmetic na ikaw mismo ang gagawa batay sa calendar.
  • Liquidity. Maaaring magkalayo nang maraming order of magnitude ang volume at open interest ng dalawang symbol na pareho ang structure sa volume at open interest.

FAQ

Ilang characters ang isang option symbol?

Dalawampu’t isa sa canonical OSI form: anim para sa root, anim para sa date, isa para sa call o put flag, at walo para sa strike. Nilalagyan ng spaces ang roots na mas maikli sa anim na characters. Inaalis ng karamihan ng screen ang padding na ito, kaya karaniwang lumilitaw ang three-letter root bilang 18-character string.

Ano ang ibig sabihin ng numerong kasunod ng root sa isang option symbol?

Tinutukoy nito ang contract na hindi na standard ang terms. Ang digit na idinadagdag ng OCC ay kumikilala sa adjusted series matapos ang isang corporate action. Ang 7 naman ay nagmamarka ng mini contract na sumasaklaw sa 10 shares sa halip na 100. Pareho pa ring bina-basa ang date at strike fields.

Bakit walong digit ang strike?

Nakasaad sa field ang strike bilang thousandths of a dollar sa anyong fixed-width integer. Sakop nito ang halaga mula one-tenth of a cent hanggang $99,999.999 nang hindi nangangailangan ng decimal point. Hatiin sa 1,000 ang walong digit upang makuha ang halaga sa dollars: ang 00007500 ay $7.50.

Pareho ba ang SPXW at SPX?

Tinutukoy nila ang parehong index at ginagamit ang parehong symbol layout. Magkaiba ang settlement. Ang SPX contracts ay nagsesettle sa halagang binubuo mula sa Friday morning opening prints at tumitigil ang trading isang araw bago iyon. Ang SPXW contracts ay nakikipag-trade hanggang sa close ng expiration day at nagsesettle batay sa closing index level.

Ipinapakita ba ng isang option symbol kung weekly o monthly ang option?

Para sa US equities, hindi. Pareho ang root ng weekly at monthly option sa parehong underlying share. Nagkakaiba lamang sila sa anim na digit ng date. Ang third Friday convention ang dahilan kung bakit mukhang monthly ang isang date. Sa index complex, hiwalay naman ang ginagamit na roots.


Nasa ilalim ng expander ang eksaktong SQL na gumawa sa bawat panel sa page na ito. Makikita mo kung paano hinati ang bawat field mula sa string. Upang i-decompose ang symbol na tinitingnan mo ngayon, hingin ito sa plain English sa Strasmore terminal.

#options#osi#symbology#option chain#adjusted options