• 012:计算影线长度占比


            怎么说呢,我希望得到一个数据,就是某个K线的影线长短。可以这样算,用高点和低点的差值作为分母,开盘价和收盘价的差值的绝对值作为分子,得出的值得越大,说明影线越长,影线越长,说明上传下跳得越厉害,也就是震荡得越厉害。我喜欢这种个股。

    步骤:

    1,获得K线数据

    2,新增一列,计算影线长度占比

    1. import pandas as pd
    2. import numpy as np
    3. import tkinter as tk
    4. from tkinter import filedialog
    5. import os
    6. path=''
    7. def open_file():
    8. global path
    9. path = filedialog.askopenfilename(initialdir="./", title="Select file", filetypes=(("Text files", "*"), ("All files", "*.*")))
    10. print("Selected file:", path)
    11. root.quit() # 选择完文件后退出主循环
    12. root = tk.Tk()
    13. root.title("File Selector")
    14. button = tk.Button(root, text="Open File", command=open_file)
    15. button.pack()
    16. root.mainloop()
    17. # 读取表格数据
    18. df = pd.read_csv(path, delimiter=',')
    19. # 计算影线长度占比
    20. df['影线长度占比'] = 1- (abs(df['开盘'] - df['收盘'])) / (df['最高'] - df['最低'])
    21. # 如果分母为0,将影线长度占比设为0
    22. df = df.replace({'影线长度占比': {0: np.nan}}) # 将0替换为NaN,方便后续处理
    23. # 使用条件判断,如果分母为0,则影线长度占比设为0,否则保持原值
    24. df['影线长度占比'] = df['影线长度占比'].apply(lambda x: 0 if x == 0 else x)
    25. df['影线长度占比'] = df['影线长度占比'].round(3)
    26. filename = os.path.basename(path)
    27. # 保存到新的CSV文件
    28. # df.to_csv('002456_2018_new.csv', index=False)
    29. df.to_csv('shadow_'+filename, index=False)
    30. print("已经保存文件--shadow_"+filename)
    31. # 计算均值
    32. 影线长度占比 = df['影线长度占比']
    33. 均值 = 影线长度占比.mean()
    34. print("影线长度占比均值:", 均值)

    K线数据的获取,参考再《005》

    效果:

  • 相关阅读:
    Docker核心原理与实操
    mongodb删除集合属性、循环更新
    因为在此系统上禁止运行脚本
    给电脑重装系统后Win11如何重置记事本?
    Nacos相关面试题
    开源与闭源:大模型发展的双重走向
    git学习使用
    Java设计模式之单例模式详细讲解
    C# this关键字的作用
    Qt官方示例:Fridge Magnets Example(冰箱贴)
  • 原文地址:https://blog.csdn.net/k1419197516/article/details/134067675