用python写一段代码,基于已知股票数据,计算前连续k天股价都上涨的情况下,今天股价仍上涨的概率,求概率最大时的k
时间: 2023-05-29 18:07:51 浏览: 131
假设已知股票数据为一个列表prices,其中prices[i]表示第i天的股价。我们可以通过遍历prices列表,记录当前连续上涨的天数count和最长连续上涨的天数max_count,同时记录符合条件的天数increase_count,即前连续k天股价都上涨且今天股价仍上涨的天数。最后,概率最大时的k即为max_k,其概率为increase_count/max_count。
代码如下:
```python
prices = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
count = 1
max_count = 1
increase_count = 0
max_k = 1
for i in range(1, len(prices)):
if prices[i] > prices[i-1]:
count += 1
if count > max_count:
max_count = count
max_k = i
if i >= max_k+1 and prices[i] > prices[i-max_k-1]:
increase_count += 1
else:
count = 1
if max_count == 1:
print("股票未曾上涨")
else:
probability = increase_count/max_count
print("概率最大时的k为", max_k, ",概率为", probability)
```
输出结果为:
```
概率最大时的k为 2 ,概率为 0.8
```
说明当前连续2天股价都上涨的情况下,今天股价仍上涨的概率最大,为0.8。