我有历史交易数据,包括进入日期、退出日期和股票名称
我想知道在任何给定日期范围内持有的股票的最大数量。我在MySQL和python中有这些数据
我的数据集:
entry_time exit_time stk
272 2020-06-10 2020-06-23 SHANKARA
197 2020-06-11 2020-06-25 PNCINFRA
85 2020-06-11 2020-06-25 DYNAMATECH
171 2020-06-15 2020-06-29 MANINDS
199 2020-06-16 2020-06-24 ASTERDM
241 2020-06-18 2020-06-29 JKPAPER
130 2020-06-18 2020-06-23 SOMANYCERA
159 2020-06-18 2020-06-25 EVERESTIND
212 2020-06-18 2020-07-01 JSLHISAR
295 2020-06-19 2020-06-25 IBVENTURES
133 2020-06-19 2020-07-02 FIEMIND
123 2020-06-19 2020-06-23 SUPRAJIT
118 2020-06-19 2020-07-01 NRBBEARING
97 2020-06-19 2020-06-24 SPAL
261 2020-06-19 2020-06-29 DALBHARAT
50 2020-06-22 2020-07-06 SANGINITA
150 2020-06-22 2020-07-06 BBL
55 2020-06-22 2020-07-06 SHARDAMOTR
169 2020-06-22 2020-07-06 BALAMINES
12 2020-06-22 2020-06-25 KIRLOSIND
284 2020-06-22 2020-07-06 NATCOPHARM
236 2020-06-23 2020-07-06 QUICKHEAL
69 2020-06-23 2020-07-07 HMVL
220 2020-06-24 2020-07-08 ASTRAL
42 2020-06-26 2020-07-10 MENONBE
260 2020-07-06 2020-07-16 BSE
105 2020-07-07 2020-07-20 GARFIBRES
35 2020-07-16 2020-07-30 SATIA
218 2020-07-17 2020-07-31 THYROCARE
8 2020-08-04 2020-08-07 CREATIVE
输出应该给我的最大数量的股票持有任何一天之间的计数
例如,从上述数据可以看出,2020-06-2015年,我们的投资组合中有4只股票。因此,如果4是持有的最大股票数量,则输出应显示4
你可以:
exit_time
创建一组所有entry_time
的计数,然后将数据帧自身合并,以计算出要减去的值(每个entry_time
的存量计数)李>df.index + 1
,但您需要首先执行df = df.reset_index(drop=True)
,就像我在第一行代码中所做的那样)。然后,您需要使用.cumsum()
减去累积和李>然后,要按每
entry_time
的最大库存进行汇总,可以使用.groupby()
:在SQL中,您可以通过跟踪输入和输出,然后进行累积求和来处理此问题:
Here是一个db<&燃气轮机;小提琴
相关问题 更多 >
编程相关推荐