دسترسی به API رایگان دادههای بازار سهام
استفاده از API رایگان و بدون نیاز به ثبتنام برای دسترسی به دادههای JSON سهام و options ایالات متحده جهت استفاده در برنامهنویسی و هوش مصنوعی.
Strasmore یک API رایگان برای دادههای بازار سهام ارائه میدهد که نیازی به کلید یا ثبتنام ندارد. این سرویس مجموعهای رو به رشد از پرسوجوهای (queries) منتخب و فقط-خواندنی را بر روی دادههای سهام و اختیار معامله (options) ایالات متحده، در قالب JSON ساده و از طریق HTTPS ارائه میکند. این سرویس بهطور مشخص هم برای کاربران انسانی و هم برای عاملهای هوش مصنوعی طراحی شده است. همچنین، این سرویس یک نمونه بدون نیاز به کلید از پدیدهای کمیابتر است: یک SQL API رایگان که در آن حسابهای کاربری رایگان میتوانند پرسوجوهای خود را بنویسند. این صفحه تمامی نقاط اتصال (endpoints) را مستند کرده، فراخوانیهای فعال را نمایش میدهد و نمودارهای مربوط به همان دادههایی را که API بازمیگرداند، ترسیم میکند.
آنچه API رایگان ارائه میدهد
هر کلید به یکی از پرسشهای اصلی تحلیلگران بازار پاسخ میدهد. فهرست موجود تا زمان نگارش این متن:
spy_qqq: بازده نرمالشده SPY و QQQ در 45 جلسه معاملاتی اخیرdividend_yield_leaders: بالاترین نرخ سود نقدی (dividend yields) در شرکتهای با ارزش بازار بالا در آخرین جلسهupcoming_ex_dividends: تاریخهای آتی پرداخت سود نقدی در بازار آمریکا، همراه با مبالغ و تاریخهای پرداختshort_interest_watch: پیشتازان شاخص days-to-cover در آخرین تسویه معاملات short-interestiv_leaders: پیشتازان نوسانپذیری ضمنی (implied-volatility) در پایان روز میان داراییهای پایه پرنوسان در بازار آپشنrecent_ipos: لیست شرکتهای پذیرفتهشده در بازار آمریکا در 180 روز گذشته، همراه با قیمت عرضه و حجمlatest_market_news: جدیدترین اخبار بازار و نمادهای (tickers) ذکر شده در آنهاbiggest_movers: بزرگترین تغییرات قیمتی در آخرین جلسه معاملاتی عادی میان نمادهای پرنوسانrevenue_leaders: بزرگترین شرکتهای آمریکایی بر اساس آخرین درآمد سالانه و سود خالصmost_active_options: تمرکز حجم معاملات آپشن و میانگین نوسانپذیری ضمنیput_call_ratio: نسبت حجم put/call در پرمعاملهترین داراییهای پایهupcoming_splits: تجزیه سهام (stock splits) اخیر و برنامهریزی شدهmarket_holidays: زمانهای بسته شدن یا بسته شدن زودهنگام بورس NYSE
قیمت سهام با تأخیر ارائه میشود. مقادیر greeks و نوسانپذیری ضمنی مربوط به پایان روز است. هر بسته داده شامل دستور SQL دقیق است که آن را تولید کرده است؛ بنابراین هر عدد قابل ردیابی تا پرسوجوی اصلی است.
نحوه فراخوانی
یک درخواست GET، بدون نیاز به هیچ هدر (header) خاصی:
curl "https://ai.strasmore.com/api/demo?q=dividend_yield_leaders"
نقشه راه (endpoint) کاتالوگ، تمام کلیدهای موجود را به همراه URL آماده برای دریافت، توضیحات ساده به زبان انگلیسی برای هر پرسش و نکات مربوط به نحوه استفاده، فهرست میکند. اگر قصد دارید API را به صورت برنامهنویسی شده کشف کنید، ابتدا این مورد را فراخوانی کنید:
curl "https://ai.strasmore.com/api/demo/catalog"
پاسخ شامل کلید نهایی شده، پرسشی که به آن پاسخ میدهد، دستور SQL، نام ستونها، سطرها و دو فیلد اشارهگر است. ساختار داده (مقادیر حذف شدهاند):
{
"key": "dividend_yield_leaders",
"label": "Highest dividend yields, large caps, latest session",
"nl": "Which large-cap US stocks currently have the highest dividend yields?",
"sql": "SELECT ...",
"columns": ["as_of", "ticker", "dividend_yield_pct", "..."],
"rows": ["..."],
"source": "Strasmore Research",
"more": "Get more at https://www.strasmore.com ..."
}
ارسال کلیدی که وجود ندارد، به جای بروز خطا، پرسش پیشفرض را اجرا کرده و آن را با یک فیلد fallback_from علامتگذاری میکند. این فیلد را به عنوان هشداری برای غلط املایی در نظر بگیرید و کاتالوگ را منبع اصلی و معتبر برای کلیدهای صحیح بدانید.
طراحی شده برای عاملها و LLMها
این نسخه نمایشی برای فراخوانی توسط نرمافزارهایی طراحی شده است که امروز نیازی به نوشتن آنها ندارید. پاسخها با تنظیمات access-control-allow-origin: * و CORS preflights به صورت آزادانه از هر منشئی پاسخ میدهند؛ بنابراین اپلیکیشنهای مرورگر، دفترچههای یادداشت (notebooks) و عاملهای LLM همگی میتوانند مستقیماً دادهها را دریافت کنند. در لایههای زیرین، هر پرسوجو حداکثر هر ده دقیقه یکبار بازمحاسبه میشود و دادهها در چند میلیثانیه از حافظه ارائه میشوند.
نقاط ورود با قابلیت خواندن توسط ماشین، به ترتیبی که یک عامل باید آنها را بخواند:
https://www.strasmore.com/llms.txtشاخص محتوا و API نسخه نمایشی را در یک فایل کوتاه نامگذاری میکند.https://ai.strasmore.com/api/demo/catalogهر پرسوجو را همراه با یک URL فهرست میکند.- فیلد
moreدر هر پاسخ، به کاتالوگ و محصول کامل اشاره دارد.
دو نکته در مورد ضوابط استفاده. اعداد هر پرسوجو حداکثر هر ده دقیقه یکبار بهروزرسانی میشوند، بنابراین درخواستهای مکرر با فواصل کوتاهتر، دادههای یکسانی را برمیگردانند. فیلد source در داخل هر بسته داده، منبع داده را مشخص میکند؛ هنگام بازنشر یک عدد، در صورت امکان آن را نمایان نگه دارید.
دادههای پشت نمایش
پاسخهای API از همان انبار دادهای استخراج میشوند که این وبلاگ از آن استفاده میکند. پنلهای زیر، پرسوجوهای مربوط به این نمایش را از طریق خط لوله (pipeline) وبلاگ اجرا میکنند و کد SQL هر بخش نیز در زیر آن قرار دارد.
کلید spy_qqq قیمتهای بستهشده SPY و QQQ را به بازده درصدی از ابتدای یک بازه 45 روزه تبدیل میکند. در طول 30 جلسه معاملاتی در بازه فعلی، حرکت تجمعی SPY نشاندهنده -1.6% و حرکت QQQ نشاندهنده -5.69% است.
کد دقیق SQL پشت هر عدد
SELECT day,
round((spy / first_value(spy) OVER (ORDER BY day ASC) - 1) * 100, 2) AS spy_return_pct,
round((qqq / first_value(qqq) OVER (ORDER BY day ASC) - 1) * 100, 2) AS qqq_return_pct
FROM (
SELECT toDate(window_start) AS day,
argMaxIf(close, window_start, ticker = 'SPY') AS spy,
argMaxIf(close, window_start, ticker = 'QQQ') AS qqq
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker IN ('SPY', 'QQQ') AND window_start >= now() - INTERVAL 45 DAY
GROUP BY day
)
ORDER BY dayکلید dividend_yield_leaders شرکتهایی با بازده بین 2٪ تا 15٪ و ارزش بازار بیش از 2 میلیارد دلار را فیلتر میکند. حد پایین برای حذف نوسانات بیاهمیت و حد بالا برای حذف اثرات سودهای نقدی ویژه (special-dividend) که بازدهی غیرواقعی ایجاد میکنند، در نظر گرفته شده است. تا Jul 17، برترین مورد در این لیست STRC با مقدار 13.45% است. برای بررسی تاریخچه پرداخت سود یک شرکت در طول چندین دهه، تاریخچه سود نقدی مایکروسافت را ببینید.
کد دقیق SQL پشت هر عدد
SELECT ticker,
round(dividend_yield * 100, 2) AS dividend_yield_pct,
formatDateTime(date, '%b %e') AS as_of_label
FROM global_markets.stocks_ratios
WHERE date = (SELECT max(date) FROM global_markets.stocks_ratios)
AND dividend_yield BETWEEN 0.02 AND 0.15
AND market_cap > 2e9
AND ticker NOT IN ('SPCX')
ORDER BY dividend_yield DESC
LIMIT 12کلید iv_leaders میانگین نوسان ضمنی (implied volatility) پایان روز را برای هر دارایی پایه در تمامی قیمتهای اعمال (strikes) و تاریخهای سررسید موجود محاسبه کرده، شرکتهایی با حجم معاملات آپشن معنادار را حفظ و آنها را رتبهبندی میکند. پیشتاز فعلی SNXX با میانگین نوسان ضمنی 299.1% است. مقادیر بالا در این فیلتر، نشاندهنده شرکتهایی است که بازار آپشن برای آنها، حرکات بزرگ را قیمتگذاری کرده است؛ این فیلتر سطح نوسان را اعلام میکند و تفسیر آن بر عهده شماست.
کد دقیق SQL پشت هر عدد
SELECT underlying_symbol AS ticker,
round(avg(implied_volatility) * 100, 1) AS avg_iv_pct
FROM global_markets.options_greeks
WHERE date = (SELECT max(date) FROM global_markets.options_greeks)
AND iv_converged
AND underlying_symbol NOT IN ('SPCX')
GROUP BY underlying_symbol
HAVING sum(volume) > 10000
ORDER BY avg_iv_pct DESC
LIMIT 12کلید short_interest_watch روزهای پوشش (days-to-cover) را بر اساس همان مجموعه داده FINRA که در راهنمای دادههای سود فروش استقراضی ما توضیح داده شده، رتبهبندی میکند و کلید upcoming_ex_dividends تقویم اقدامات شرکتی را بررسی میکند. هر دو از الگوی بالا پیروی میکنند: یک فیلتر ثابت، یک نتیجه محدود شده و کد SQL در بدنه داده.
از نسخه آزمایشی تا انبار داده کامل
پرسوجوهای نسخه آزمایشی به عمد محدود شدهاند: این پرسوجوها کمهزینه، قابل ذخیرهسازی در حافظه موقت (cacheable) و برای دسترسی همگانی ایمن هستند. انبار داده پشت این سیستم، شامل 22 سال دادههای سهام ایالات متحده و 12 سال تاریخچه قراردادهای اختیار معامله است؛ یک حساب کاربری رایگان (بدون نیاز به کارت بانکی) میتواند روزانه 100 پرسوجو با استفاده از SQL مستقیماً روی این دادهها اجرا کند. سطوح پولی، دسترسی به تمام تاریخچه، دادههای لحظهای (tick data) و کلیدهای API برنامهنویسیمحور را فراهم میکنند. زمانی که یک صفحه نمایش ثابت پاسخگوی نیاز کاربر نباشد، سطح رایگان SQL مرحله ارتقای بعدی است.
سوالات متداول
آیا API دادههای بازار Strasmore واقعاً رایگان است؟
بله. نقاط انتهایی (endpoints) نسخه دمو نیازی به کلید، ثبتنام یا اطلاعات پرداخت ندارند. این نقاط تنها به پرسوجوهای ثابت پاسخ میدهند؛ پرسوجوهای دلخواه در نسخه کامل محصول ارائه میشوند.
آیا به کلید API یا احراز هویت نیاز دارم؟
خیر. تمام نقاط انتهایی نسخه دمو به درخواستهای ساده و بدون احراز هویت GET پاسخ میدهند. کلیدها فقط برای API برنامهنویسیشده پولی که پرسوجوهای سفارشی را اجرا میکند، وجود دارند.
دادههای نسخه دمو چقدر بهروز هستند؟
قیمت سهام به جای حالت لحظهای، با تأخیر ارائه میشود. نسبتها، میزان فروش استقراضی (short interest) و اقدامات شرکتی طبق زمانبندی منابع خود بهروزرسانی میشوند. شاخصهای Greeks و نوسان ضمنی (implied volatility) مربوط به پایان روز هستند. نتایج هر پرسوجو حداکثر هر ده دقیقه یکبار بهروزرسانی میشود.
آیا عامل LLM یا اپلیکیشن مرورگر من میتواند مستقیماً آن را فراخوانی کند؟
بله. پاسخها با CORS باز از هر منشئی ارائه میشوند، پیشپروازها (preflights) در همه جا موفقیتآمیز هستند و کاتالوگ در /api/demo/catalog هر پرسوجو را در قالب JSON توصیف میکند که یک عامل میتواند بدون نیاز به مستندات آن را بخواند.
اگر کلیدی که وجود ندارد را درخواست کنم چه میشود؟
این API پرسوجوی پیشفرض spy_qqq را ارائه میدهد و یک فیلد fallback_from برای نام بردن از آنچه درخواست کردهاید، اضافه میکند. برای مشاهده لیست کلیدهای معتبر، کاتالوگ را بررسی کنید.
هر پنل در این صفحه یک پرسوجوی ذخیرهشده زنده است و همان انبار داده به پرسوجوهایی که خودتان با SQL یا زبان ساده انگلیسی در ترمینال Strasmore مینویسید، پاسخ میدهد.