首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >平心而论:突出正常交易市场时间

平心而论:突出正常交易市场时间
EN

Stack Overflow用户
提问于 2022-09-15 23:32:49
回答 1查看 31关注 0票数 0

目标:在图表中突出显示正常的交易市场时间。

-Using具有标准日期时间和1分钟间隔的df。-Regular交易时间=东部时间上午9:30至下午4:00-如果有兴趣的话:-前市场=上午4点至9:30-邮政市场=下午4点至8点

堆栈溢出有很好的链接来突出显示周末的数据:我试图发布这个链接时,作者刚刚删除了这个链接,但是我还是很难将它转换到一天中的特定时间。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-09-15 23:51:27

这相对容易使用fig.add_vrect()

我为日夜建立了一个类似的突出显示系统:

代码语言:javascript
复制
time = df.index.get_level_values("time")
# Getting info for plotting the day/night indicator
# time[0].date() picks out 00:00 (midnight) and then we add 6 hours to get 6 am.
start_morning = pd.to_datetime(time[0].date()) + pd.Timedelta(
    hours=6
)
end_morning = pd.to_datetime(time[-1].date()) + pd.Timedelta(
    hours=30
)
num_mornings = (end_morning - start_morning).days
# Now we build up the morning times, every day at 6 am
mornings = [
    start_morning + timedelta(days=x) for x in range(num_mornings)
]
for morning in mornings:
    fig.add_vrect(
# Highlighted region starts at 6 am and ends at 6 pm, every day.
        x0=morning,
        x1=morning + timedelta(hours=12),
        fillcolor="white",
        opacity=0.1,
        line_width=0,
    )

对你来说,这只是一个简单的调整时间的问题。例如,9:30你可以用

代码语言:javascript
复制
morning = pd.to_datetime(time[0].date()) + pd.Timedelta(hours=9.5)

获取数据的第一天,在上午9:30现在在fig.add_vrect()中使用

代码语言:javascript
复制
x0= morning
x1= morning + timedelta(hours=6.5)

在上午9时30分至下午4时突出显示

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

https://stackoverflow.com/questions/73738376

复制
相关文章

相似问题

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