Python股票量化数据下载,交易程序-邮件提醒买卖点

部署运行你感兴趣的模型镜像

1、概述

你是一个老股民吗?你是一个有着十年交易的股民吗?你是否在太忙没时间看盘?想找免费的自动量化交易程序?如果是,一定不要错过本帖!本教程将手把手教你如何下载股票数据,如何判断交易时间,如何在交易日内发送买卖信号至个人邮箱。鉴于python比较简单,容易上手,本教程将使用python。

2、下载当天实时股价和历史股票数据

下载股票数据的方法有很多,比如编写爬虫爬取东方财富的数据,又比如利用腾讯股票的接口,还有tushare等等。这里使用腾讯股票接口下载当天的股票数据,使用基于python的efinance包来下载历史股票数据。

  1. 下载当天(交易日)的股票数据
def get_real_stockinfo(stock_code):
    url = 'http://qt.gtimg.cn/q='
    if stock_code[0] == '3' or stock_code[0] == '0':  # 创业板或者深市
        stock_code = 'sz' + stock_code
    if stock_code[0] == '6':  # 科创版或者上证
        stock_code = 'sh' + stock_code
    url1 = url + stock_code
    html_text = urlopen(url1)
    html_text1 = html_text.read()
    html_text2 = html_text1.decode('gbk')
    stock_info_list = html_text2.split('~')
    #print(stock_info_list[3])
    return stock_info_list[3]  #返回实时股价,沪深300目前不支持腾讯接口

2、下载历史股票数据

import efinance as ef
df1=ef.stock.get_quote_history(stockcode,begdate, enddate)

3、判断交易时间

怎么才能判断今天是不是交易日?只有交易日程序才工作,非交易日程序休眠,省电

from chinese_calendar import is_workday
def is_trade_day(date):
  if is_workday(date):
      if date.isoweekday() < 6:
                return 1
      return 0
  else:
      return 0

4、根据股价确定买卖信号

stock_close_price = df1['收盘']
stock_close_price1= stock_close_price.tolist()
if stock_close_price >180:
   mailmessage = "卖出信号"

5、将买卖信号发送至个人邮箱,提醒及时登录证券账户操作

def sendmail_stock(emailtext):
    from_addr = 'xxx@qq.com'
    password = 'xxxxxx'
    # 收信方邮箱
    to_addr = 'xxxx@163.com'
    # 发信服务器
    smtp_server = 'smtp.qq.com'

    # 邮箱正文内容,第一个参数为内容,第二个参数为格式(plain 为纯文本),第三个参数为编码
    msg = MIMEText(emailtext, 'plain', 'utf-8')
    # 邮件头信息
    msg['From'] = from_addr  # 发送者
    msg['To'] = to_addr  # 接收者
    subject = time.strftime('%Y-%m-%d %H:%M', time.localtime()) + "  RSI information"
    msg['Subject'] = Header(subject, 'utf-8')  # 邮件主题

    try:
      smtpobj = smtplib.SMTP_SSL(smtp_server)
      # 建立连接--qq邮箱服务和端口号(可百度查询)
      smtpobj.connect(smtp_server, 465)
      # 登录--发送者账号和口令
      smtpobj.login(from_addr, password)
      # 发送邮件
      smtpobj.sendmail(from_addr, to_addr, msg.as_string())
      print("邮件发送成功")
    except smtplib.SMTPException:
      print("无法发送邮件")
    finally:
      # 关闭服务器
      smtpobj.quit()

6、总结

    整个实现过程其实非常容易的,通过python实现的实时股票行情检测,并发送交易信号到自己的邮箱,这样就不用时时刻刻盯盘了,限于篇幅,本教程只列了核心代码,如需完整代码请关注我,在评论区留下自己的邮箱,我会将完整代码发送至邮箱,如需合作,还请留言。

您可能感兴趣的与本文相关的镜像

Python3.10

Python3.10

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值