【量化交易】如何在JoinQuant的回测及研究中发送邮件

苹果应用市场惨不忍睹、自己的项目现在还是搁置一下、继续好好学习!再次试验了QQ发送的。

除了想要接受微信信息之外,还想收取邮件,现就为大家介绍一下如何在JoinQuant的回测及研究中发送邮件!

(注:记得请先开启邮箱的SMTP服务哦,下面以163邮箱为例)

163邮箱函数形式如下:

def send_163_email(subject,message):
    import smtplib
    from email.mime.text import MIMEText
    from email.header import Header

    '''
    记得请先开启邮箱的SMTP服务
    '''
    ## 发送邮件
    sender = '量化模拟盘<[email protected]>' #发送的邮箱
    receiver = '[email protected]' #要接受的邮箱(注:测试中发送其他邮箱会提示错误)
    smtpserver = 'smtp.163.com' 
    username = '[email protected]' #你的邮箱账号
    password = '**********' #你的邮箱密码

    msg = MIMEText(str(message),'plain','utf-8') #中文需参数‘utf-8',单字节字符不需要
    msg['Subject'] = Header(subject, 'utf-8') #邮件主题
    msg['to'] = receiver      
    msg['from'] = sender    #自己的邮件地址 

    smtp = smtplib.SMTP()
    try :
        smtp.connect('smtp.163.com') # 链接
        smtp.login(username, password) # 登陆
        smtp.sendmail(sender, receiver, msg.as_string()) #发送
        print '邮件发送成功'
    except:
        print '邮件发送失败'
    smtp.quit() # 结束
df = get_price('000001.XSHE', start_date='2015-06-01', end_date='2015-06-05', frequency='daily', fields=['close','low'])
z = df['close']
send_163_email(subject='Hi,JoinQuant!',message=z)

结果如下:

3.png
2.png

由于QQ邮箱的smtp服务用了ssl认证,发往QQ邮箱函数形式如下:

# ============================ 代码 =================================

def send_qq_email(subject,message):
    import smtplib
    from email.mime.text import MIMEText
    from email.header import Header
    ## 发送邮件
    sender = '5***[email protected]' #发送的邮箱
    receiver = '5***[email protected]' #要接受的邮箱(注:测试中发送其他邮箱会提示错误)
    smtpserver = 'smtp.qq.com'
    username = '5***[email protected]' #你的邮箱账号
    password = 'ee*******tg' #你的邮箱授权码。一个16位字符串

    msg = MIMEText(str(message),'plain','utf-8') #中文需参数‘utf-8',单字节字符不需要
    msg['Subject'] = Header(subject, 'utf-8') #邮件主题
    msg['to'] = receiver
    msg['from'] = sender    #自己的邮件地址

    server = smtplib.SMTP_SSL('smtp.qq.com')
    try :
        #server.connect() # ssl无需这条
        server.login(username, password) # 登陆
        server.sendmail(sender, receiver, msg.as_string()) #发送
        print('邮件发送成功')
    except:
        print('邮件发送失败')
    server.quit() # 结束
send_qq_email(subject='Info from JoinQuant', message="test mail")

你的邮箱授权码。一个16位字符串:网页版本登录 QQ邮箱->设置->账户 这里开启即可。

如果使用joinquant的内置方法、需要用策略里面的编辑运行才可以、上部分代码在pycharm上正常运行。

# ============================ 上面部分的执行代码 =================================

df = get_price('000001.XSHE', start_date='2020-06-01', end_date='2020-06-05', frequency='daily',
                   fields=['close', 'low'])
z = df['close']
send_qq_email(subject='Hi,JoinQuant!',message=z)

发送结果:

这样就成功了。 剩下的就是我现在看看pycharm上面要下载哪些库才能执行、同步更新 共同继续学习咯~ 加油

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章