开始使用免费开始使用

使用 merge_asof() 分析股票

您有一份自己记录的股票市场价格数据。您尝试每 5 分钟跟踪一次价格,但由于网络延迟,您记录的时间点大致为每 5 分钟。您提取了三家银行的价格日志:JP Morgan(JPM)、Wells Fargo(WFC)和 Bank Of America(BAC)。您想了解另外两家银行的价格变动与 JP Morgan 相比如何。因此,您需要将这三份日志合并为一张表。随后,您将使用 pandas.diff() 方法计算随时间的价格变化。最后,绘制价格变化折线图,以便回顾您的分析。

三份日志文件已为您加载为名为 jpmwellsbac 的表。

本练习是课程的一部分

使用 pandas 连接数据

查看课程

练习说明

  • 使用 merge_asof()jpm(左表)与 wellsdate_time 列合并,匹配时间最近的行,并设置 suffixes=('', '_wells')。保存为 jpm_wells
  • 使用 merge_asof()jpm_wells(左表)与 bacdate_time 列合并,匹配时间最近的行,并设置 suffixes=('_jpm', '_bac')。保存为 jpm_wells_bac
  • price_diffs 中绘制 close_jpmclose_wellsclose_bac 的收盘价。

交互式实操练习

通过完成这段示例代码来试试这个练习。

# Use merge_asof() to merge jpm and wells
jpm_wells = ____


# Use merge_asof() to merge jpm_wells and bac
jpm_wells_bac = ____


# Compute price diff
price_diffs = jpm_wells_bac.diff()

# Plot the price diff of the close of jpm, wells and bac only
price_diffs.plot(y=[____, ____, ____])
plt.show()
编辑并运行代码