首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >以编程方式检查今天是否是市场开放交易日。

以编程方式检查今天是否是市场开放交易日。
EN

Stack Overflow用户
提问于 2019-04-19 07:47:04
回答 6查看 7.6K关注 0票数 6

什么可能是最简单的方式来检查今天美国证券交易所是否开放交易?

我希望避免的长期方法是创建例程来解析包含日历信息(如https://business.nasdaq.com/trade/US-Options/Holiday-Trading-Hours.html )的提要。

我更喜欢Ruby,但是即使使用curl进行简单的URL查找也会产生真/假,或者直到下一个市场开放的时间。

可选

能够查找任意日期将更好,并解决这个问题。

甚至类似于壳中的curl google.com/search?q="Is the NYSE open on $(date +%Y-%m-%d)"

EN

回答 6

Stack Overflow用户

发布于 2021-08-18 20:31:57

使用Python,我找到的最简单的方法是使用pandas_market_calendars库,它可以告诉您市场的发展情况。

代码语言:javascript
复制
import pandas_market_calendars as mcal
nyse = mcal.get_calendar('NYSE')
nyse.valid_days(start_date='2016-12-20', end_date='2017-01-10')

用start_date、end_date代替自己,并生成以下范围。

代码语言:javascript
复制
DatetimeIndex(['2016-12-20 00:00:00+00:00', '2016-12-21 00:00:00+00:00',
               '2016-12-22 00:00:00+00:00', '2016-12-23 00:00:00+00:00',
               '2016-12-27 00:00:00+00:00', '2016-12-28 00:00:00+00:00',
               '2016-12-29 00:00:00+00:00', '2016-12-30 00:00:00+00:00',
               '2017-01-03 00:00:00+00:00', '2017-01-04 00:00:00+00:00',
               '2017-01-05 00:00:00+00:00', '2017-01-06 00:00:00+00:00',
               '2017-01-09 00:00:00+00:00', '2017-01-10 00:00:00+00:00'],
              dtype='datetime64[ns, UTC]', freq='C')

检查一下今天的日期在里面。

票数 6
EN

Stack Overflow用户

发布于 2019-06-17 15:32:45

我使用特雷泽尔API在我的shell脚本中执行此操作,然后使用jq获取特定一天的状态。

代码语言:javascript
复制
date="your date"
month=$(date -d $date +%-m)
year=$(date -d $date +%Y)
calendar=$(curl -H "Authorization: Bearer "$tradierApi"" -H "Accept: application/json" "https://production-api.tradier.com/v1/markets/calendar?month="$month"&year="$year)
marketStatus=$(echo $calendar | ./jq-linux64 '.calendar.days.day[] | select(.date == "'$date'") | .status')
票数 4
EN

Stack Overflow用户

发布于 2019-10-13 04:32:25

MSN报价包含一个属性,它指示股票上市市场是开放的还是关闭的:

https://www.msn.com/en-us/money/stockdetails/nas-aapl/fi-a1mou2?symbol=AAPL&form=PRMFPS

下面是一个使用美汤解析器获取状态的Python脚本示例。

如果你担心他们改变他们的css,我想一个正则表达式可能更可靠,等等。

代码语言:javascript
复制
from bs4 import BeautifulSoup

import requests

session = requests.session()

response = session.get('https://www.msn.com/en-us/money/stockdetails/nas-aapl/fi-a1mou2?symbol=AAPL&form=PRMFPS')

if response.status_code == 200:

    page = response.text
    
    soup = BeautifulSoup(page, "lxml")

    market = soup.find('span', attrs={'class': 'market-status-text'}).text

    if market == 'US Markets Closed':

       # do stuff

        print('closed')

    else:

        print('open')

        # do different stuff
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55758380

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档