在边学量化,边学Python的路上继续前进。
这次捣鼓的内容是做个便于选股的界面,毕竟欲善其事先利其器。
实现的功能是,勾选单个或者多个市场,则批量获取选中市场的股票在设定时间范围内的日k数据并保存为本地文件。如果输入个股代码则只获取单个股票日k数据。
Py的UI设计有很多强大的库。考虑到实用为主,测试的需求是小而快,就选用了自带的tkinte库来实现。
import tkinter as tk
import tkinter.ttk as ttk
if __name__ == "__main__":
#窗口初始化
rootWin = tk.Tk()
rootWin.title("股票选择窗")
rootWin.geometry("600x300")
#标签控件
lb1 = tk.Label(rootWin,text="主板选择:")
lb1.place(x=10,y=10,width=100)
lb2 = tk.Label(rootWin,text="个股代码:")
lb2.place(x=10, y=80, width=100)
lb3 = tk.Label(rootWin,text="时间范围:")
lb3.place(x=10, y=160, width=100)
lb4 = tk.Label(rootWin,text="到")
lb4.place(x=325, y=160,width=10)
#复选框控件
selvar1 = tk.IntVar()
selvar2 = tk.IntVar()
selvar3 = tk.IntVar()
selvar4 = tk.IntVar()
selbtn1 = tk.Checkbutton(rootWin,text="沪市",variable=selvar1,onvalue=1,offvalue=0)
selbtn2 = tk.Checkbutton(rootWin,text="深市",variable=selvar2,onvalue=1,offvalue=0)
selbtn3 = tk.Checkbutton(rootWin, text="创业板", variable=selvar3, onvalue=1, offvalue=0)
selbtn4 = tk.Checkbutton(rootWin, text="科创板", variable=selvar4, onvalue=1, offvalue=0)
selbtn1.place(x=100,y=10,width=80)
selbtn2.place(x=190,y=10,width=80)
selbtn3.place(x=280,y=10,width=80)
selbtn4.place(x=370,y=10,width=80)
#文本框控件
code_text = tk.Text(rootWin)
code_text.place(x=120,y=80,width=200,height=20)
time_text_s = tk.Text(rootWin)
time_text_s.place(x=120,y=160,width=200,height=20)
time_text_e = tk.Text(rootWin)
time_text_e.place(x=340,y=160,width=200,height=20)
#按钮
subtn = tk.Button(rootWin,text="ok",command=subtn_click)
subtn.place(x=30,y=220,width=40,height=40)
#进度条
progress = ttk.Progressbar(rootWin,maximum=100,value=0)
progress.place(x=0,y=280,width=600,height=20)
rootWin.mainloop()
界面实现不难。想到获取数据量过大,等待时间可能较长,所以多加了个进度条
输完条件,按”ok“按钮,触发按钮绑定的subttn_click事件,主要的获取、分析和保存代码,都在这个事件里了
文章为作者独立观点,不代表股票配资公司观点