问答交流

连续红三次,然后第四次红的概率如何用代码‼️

由bq1ek5t7创建,最终由small_q 被浏览 13 用户

写了个连续红三次,然后第四次红的概率有多少,不知道怎么弄成回测的,呜呜呜,下面是我的代码

#连红三次,看第四次还是红的概率
import dai
df = dai.query("""
    SELECT
        date, instrument, ((close - open) / open) * 100 as price_change_percentage,
        CASE
            WHEN ((close - open) / open) * 100 > 0 THEN 1
            ELSE 0
        END as price_change_percentage_binary
    FROM cn_cbond_bar1m 
    WHERE instrument = '128044.SZ'
    ORDER BY date
    """,
    filters={"date": ["2024-01-01", "2024-06-25"]}
).df()

#提取price_change_percentage_binary列的数据
price_change_percentage_binary = df['price_change_percentage_binary']

#计算连续出现3个1后,第四个出现1的概率
probability_1 = 0
probability_not_1 = 0
for i in range(len(price_change_percentage_binary) - 3):
    if price_change_percentage_binary[i] == 1 and price_change_percentage_binary[i + 1] == 1 and price_change_percentage_binary[i + 2] == 1:
        if i==0 or price_change_percentage_binary[i-1] == 0:
            #print(price_change_percentage_binary[i-1],price_change_percentage_binary[i], price_change_percentage_binary[i + 1] , price_change_percentage_binary[i + 2])
            if price_change_percentage_binary[i + 3] == 1:
                probability_1 += 1
                #print("yes:",price_change_percentage_binary[i + 3])
            else:
                #print("no",price_change_percentage_binary[i + 3])
                probability_not_1 += 1

print(probability_1)
print(probability_not_1)

\

评论
  • 这个其实都不需要你自己一行一行写了,你可以问下 quantchat ,你只要能文字层面把这个事情说清楚,那么他都能给出可运行的代码。
  • 即使代码不能直接运行,你也能参考下,提升你的效率。
  • 恩人啊,wx多少,怎么联系
  • 你搜索微信 Dolengbandeng
{link}