什么可能是最简单的方式来检查今天美国证券交易所是否开放交易?
我希望避免的长期方法是创建例程来解析包含日历信息(如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)"。
发布于 2021-08-18 20:31:57
使用Python,我找到的最简单的方法是使用pandas_market_calendars库,它可以告诉您市场的发展情况。
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代替自己,并生成以下范围。
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')检查一下今天的日期在里面。
发布于 2019-06-17 15:32:45
我使用特雷泽尔API在我的shell脚本中执行此操作,然后使用jq获取特定一天的状态。
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')发布于 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,我想一个正则表达式可能更可靠,等等。
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 stuffhttps://stackoverflow.com/questions/55758380
复制相似问题