天天看点

自学python 一个简单的股票工具,源代码分享

项目名称:股票工具

想要的功能:

1 获取数据 实时某支股票的 ‘买一量’ ‘卖一量’ #获取数据

2 数据分析 对’买一量’ ‘卖一量’的判断 进入时候提醒

2.1 买一量,大于、小于 多少时,提示买入卖出

2.2 卖一量,大于、小于 多少时,提示买入卖出

2.3 涨幅计算

行动效果图:

自学python 一个简单的股票工具,源代码分享

后面是源代码:

#设置
from urllib import request
import re
print('程序启动中。。。')
#url_input = input('输入代码(sh600593,sz000725,sz000630):')
#print(url_input)
n = 10 #条件触发时提醒次数
#input0 = input('新的一天开始***理性交易***拒绝冲动***加油!按任意键同意 开始交易:')
print('新的一天开始***理性交易***拒绝冲动***加油!')
print('新的一天开始***理性交易***拒绝冲动***加油!')
print('新的一天开始***理性交易***拒绝冲动***加油!重要是事情说三遍')

#安全区间定义
#注意区间定义
#卖白菜定义

#功能区
while True:
    url0 = request.urlopen('http://hq.sinajs.cn/list=sh600593', timeout=60)  # 设置监控对象
    read_url0 = url0.readline().decode('GB18030')

    url1 = request.urlopen('http://hq.sinajs.cn/list=sz000630', timeout=60)  # 设置监控对象
    read_url1 = url1.readline().decode('GB18030')

    url2 = request.urlopen('http://hq.sinajs.cn/list=sz000725', timeout=60)  # 设置监控对象
    read_url2 = url2.readline().decode('GB18030')

    #print('程序运行中。。。')

    #print(b)
    c = re.split(r'[;,\s]\s*', read_url0)
    d = re.split(r'[;,\s]\s*', read_url1)
    e = re.split(r'[;,\s]\s*', read_url2)
    url0_buy0 = float(c[12])  # 买一
    url1_buy0 = float(d[12])  # 买一
    url2_buy0 = float(e[12])  # 买一

    #数据定义区#数据定义区#数据定义区#数据定义区#数据定义区#数据定义区#数据定义区#数据定义区#数据定义区

      #name = print(c[1])     #股票名称
   # buy0 = float(c [12])#买一
    buy1 = float(c [14]) #买二
    buy2 = float(c [16]) #买三
    buy3 = float(c [18]) #买四
    buy4 = float(c [20])  #买五
#print(buy0,buy1,buy2,buy3,buy4)
    sell0 = float(c[22])    #卖一
    sell1 = float(c[24])    #卖一
    sell2 = float(c[26])    #卖一
    sell3 = float(c[28])    #卖一
    sell4 = float(c[30])    #卖一
#print(sell0,sell1,sell2,sell3,sell4)
    buy0_qty = float(c [11])  / 100 #买一量
    buy1_qty = float(c [13])  / 100  #买二量
    buy2_qty = float(c [15])  / 100 #买三量
    buy3_qty = float(c [17])  / 100#买四量
    buy4_qty = float(c [19])  / 100#买五量
#print(buy0,buy1,buy2,buy3,buy4)
    sell0_qty = float(c [21])  / 100 #卖一量
    sell1_qty = float(c [23])  / 100  #卖二量
    sell2_qty = float(c [25])  / 100 #卖三量
    sell3_qty = float(c [27])  / 100#卖四量
    sell4_qty = float(c [29])  / 100#卖五量
#print(sell0,sell1,sell2,sell3,sell4)
#print('买一价格:',buy0,'买一量:',buy0_qty)
    #input('启动完成,程序运行中。。。:')
    time = c[32]
    #time0 = c[33]
    #设置提醒条件,函数体
    # 涨幅计算fluctuate = (num - get) /get*100
    def fluctuate(num0, num1):  # 定义函数 num0 买一价 num1 昨收价
        if num0 > 0 and num1 > 0:
            return (num0 - num1) / num0 * 100  # 加入计算当前涨跌幅(买一价-昨收盘价)/买一价

        else:
            return 'error'

    # test = fluctuate(11,10) #函数测试
    # print('上涨',test,'%')  #函数测试
    #正常波动区间提醒
    closing_url0 = float(c[3])   #昨收价
    closing_url1 = float(d[3])   #昨收价
    closing_url2 = float(e[3])   #昨收价
    url0_buy0 = float(c[12])  # 买一
    url1_buy0 = float(d[12])  # 买一
    url2_buy0 = float(e[12])  # 买一

    warning_c = fluctuate(url0_buy0,closing_url0) #设置第一个股票 相对昨收价的涨幅, 保留两个位小数 单位%
    warning_d = fluctuate(url1_buy0,closing_url1)  # 设置第一个股票 相对昨收价的涨幅, 保留两个位小数 单位%
    warning_e = fluctuate(url2_buy0,closing_url2)  # 设置第一个股票 相对昨收价的涨幅, 保留两个位小数 单位%
    warning0_out = ('%.2f' % warning_c,'%','%.2f' % warning_d,'%','%.2f' % warning_e,'%')
    #print(warning0_out)

    #预警设置
        #1.1 相对昨收价的下负两个点波动 提示正常区间运行中
        #1.2 注意区间
        #1.3 卖白菜区间
    # 1.1 相对昨收价的下负两个点波动 提示正常区间运行中


    #输出显示设置  输出当前名称 价格和涨幅
    print('大连圣亚',url0_buy0,'涨跌','%.2f' % warning_c,'%','铜陵有色',url1_buy0,'涨跌','%.2f' % warning_d,'%','京东方A', url2_buy0, '涨跌', '%.2f' % warning_e, '%','更新时间',time)

           

继续阅读