Python量化交易实战-42双均线策略股票量化交易模拟实战

B站配套视频教程观看
双均线策略股票实战模拟

这里我们利用整节课所有的知识,来进行实盘模拟交易,你可以选择真实交易,可以使用你注册的券商进行实际交易,但是对于刚开始上手量化的同学,提醒大家还是用模拟账户,这样你可以等整个程序都跑顺了之后,再去用真金白银去交易。

一、实战

创建一个python文件,用于跑策略:

import sys,os
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
sys.path.append(BASE_DIR)

import Data.Stock as st
import Strategy.ma_strategy as ma
import easytrader
import pandas as pd
import time

#交易初始化
user = easytrader.use('universal_client') 
user.connect(r'C:\同花顺软件\同花顺\xiadan.exe')
user.enable_type_keys_for_editor()

#参数设置
start_date = '2016-01-01'
end_date = '2021-01-01'

#确定股票池:沪深300
stocks = st.get_index_list()
print("===========股票列表", stocks)

#找到有交易信号的股票,为之后交易进行准备
for stock in stocks:
    data = st.get_single_price(stock, 'daily', start_date, end_date)
    print("==============股票数据", stock, "==============")

    # 跑策略:双均线
    data  = ma.ma_strategy(data=data)
    print(data.tail())

    #判断交易信号:买入、卖出
    signal = data['signal'].iloc[-1]
    print("===========交易信号", signal, "==============")

    # 去除股票代码后缀(.XSHE)
    code = stock.split('.')[0]
    #获取当期收盘价
    price = data['close'].iloc[-1]
    # 交易数量
    amount = 100

    #判断持仓信息(转化为DataFrame   )
    position = pd.DataFrame(user.position)
    stock_pos = None
    if position.empty == False:
        stock_pos = position[position['证券代码'] == code]['可用余额'].iloc[0]
    print("===============当前持仓:", stock_pos, "============")

    if signal == 1:
        entrust = user.buy(code, price, amount)
        print("===============买入id:", entrust, "============")
    elif signal == -1 and stock_pos is not None:
        entrust = user.sell(code, price, stock_pos)
        print("===============卖出id:", entrust, "============")
    else:
        print("未产生信号")

    time.sleep(3)

运行即可完成自动化

看起来跑的挺顺利的。可以看到大部分是无交易信号的。在实盘之前,最好模拟交易几个月,你在跑策略的过程中会发现很多问题,你也会充分的意思到它和你回测的结果的不同。

到这里我们基本上把策略的部分和模拟交易的部分给结合起来了。

转载请注明:虚幻私塾 » Python量化交易实战-42双均线策略股票量化交易模拟实战

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

虚坏叔叔

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值