
目标:在图表中突出显示正常的交易市场时间。
-Using具有标准日期时间和1分钟间隔的df。-Regular交易时间=东部时间上午9:30至下午4:00-如果有兴趣的话:-前市场=上午4点至9:30-邮政市场=下午4点至8点
堆栈溢出有很好的链接来突出显示周末的数据:我试图发布这个链接时,作者刚刚删除了这个链接,但是我还是很难将它转换到一天中的特定时间。
发布于 2022-09-15 23:51:27
这相对容易使用fig.add_vrect()。
我为日夜建立了一个类似的突出显示系统:
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你可以用
morning = pd.to_datetime(time[0].date()) + pd.Timedelta(hours=9.5)获取数据的第一天,在上午9:30现在在fig.add_vrect()中使用
x0= morning
x1= morning + timedelta(hours=6.5)在上午9时30分至下午4时突出显示
https://stackoverflow.com/questions/73738376
复制相似问题