精华内容
下载资源
问答
  • 2021-09-08 10:43:00

    (一)项目准备:关于人工智能的策略投资系统。

    首先肯定是理论模型设计,系统风险管控主要分几方面展开:

    1、利用自然语言处理(NLP)技术,监控网络舆情事件,对网络舆情进行情感分析,给出定量描述(利空/利好),并自动化生成内容摘要供投资经理参考。


    2、利用产业链图谱,分析上市公司上下游企业经营状况(销售收入、利润及财务数据等),用来推断企业未来的盈利能力或隐藏风险。


    3、监控上市公司主要产品市场价格与成交量信息,用于预测未来的营业收入。


    4、对上市公司银行流水进行识别分析,从资金流的层面审视上市公司经营状况。


    5、对行政、司法公告进行智能化解读,识别上市公司法律风险。

    验证:

    1、需要经过一段时间(6~12个月)的实盘运行,取得了模型成绩与沪深300指数对比,收益高于200%倍认为成功;低于100%则认为失败,区间应不停改进。

    2、系统对上市公司风险事件几乎能够100%俘获,只要是后期出现债务违约或债券价格大跌的标的,都能被系统提前捕获(比如康美、康得新、中安消防等)。

    3、错报控制,风险告警遗漏率为零,风险分布区间准确率大于80%。低于80%,属于无效预警,还可能导致调仓过度频繁,冲击成本过高;特别是债券,一时间找不到交易对手方,只能折价卖出,最终导致债券投资这部分是亏损的。

    4、对"稀有事件"的提示能力。稀有事件没有历史数据可以模拟,无法计量,人工智能就更没有办法了。从信息论的角度来看,越是稀有的事件,信息量越大,市场就会过度高估它的作用,特别是出现恐慌性、群体性大跌时,大概率就是抄底好机会。结论:金融市场的走势主要受未来不可预测因素影响,已知因素对其影响非常有限,而我们投资者(包括AI),只能从已知事件中得出结论。

    • 发生稀有的大事件,市场没有经验,你认为自己可以更深刻地解读它,并愿意承担相应的风险。疫情事件投资属于此范畴。
    • 对于已知事件,你认为市场对该事件反应过度或反应不足,尚有后期影响可以利用。在信息极其畅通的今天,公开事件往往是反应过度。
    • 对于已知事件,某些资金的特性决定了,被迫做出了某些动作,而不是基于标的价值的考量。
    更多相关内容
  • python实现量化分析,交易系统,自动化运维,动态加载策略
  • Python量化交易】——1、封装交易所API 在刚刚过去的一个星期里,博主一直在捣鼓 Python量化交易 的内容。在写这篇文章的时候已经用python实现网格法自动交易的功能,其次也成功将脚本部署到服务器自动运行,另外...
  • 著名的量化交易库tushare的源代码,python语言,版本0.2.8
  • python量化交易.pdf

    2021-11-07 11:03:25
    python量化交易教程,从Python入门到量化交易策略,量化交易师的python日记,股票量化交易,alpha多因子模型,宏观研究,布林带,均线系统,cci顺势指标探析,EMV技术指标的构建及应用,FPC指标选股,动量模型,基于...
  • 博文《Python量化交易策略及回测系统》详细的介绍了Python量化交易策略编写的全过程,包括: 1、数据的获取 2、量化交易策略回测系统的编写 3、量化交易策略的设计 4、使用量化交易策略及回测系统对多个股票进行回测...
  • 首门程序员理财课 Python量化交易系统实战视频教程,完整版8章下载。 课程基于一个完整真实的量化交易业务来讲授,并融入老师的理财经验以及使用编程技术辅助投资的技巧,让你面对各种复杂投资情况也能做到游刃有余...
  • Python量化交易策略及回测系统

    千次阅读 热门讨论 2022-03-11 20:30:37
    由于本文篇幅较长,而且文中关于python数据分析的知识点、python金融量化的知识点较多,因此在文章的开头先给出本文整体思路,以便读者能够拥有较为清晰的脉络通读全文。 第一部分:模块导入,主要是将后面需要用到...

    前言:行文思路

    由于本文篇幅较长,而且文中关于python数据分析的知识点、python金融量化的知识点较多,因此在文章的开头先给出本文整体思路,以便读者能够拥有较为清晰的脉络通读全文。
    第一部分:模块导入,主要是将后面需要用到的模块进行导入(简单,非重点)
    第二部分:数据获取,鉴于在网络上股票数据不易找到,Wind金融终端等数据库数据收费,通过多方查找,终于让我找到了能够免费下载股票数据的模块,建议大家收藏(简单,非重点)
    第三部分:将股票数据转化为新的数据类型,通过上面的方法下载下来的数据类型是我们常见的DataFrame,虽然pandas的功能已经很强大了,但是为了加入新的数据指标以及方便下一步操作,最好还是将DataFrame数据转化为一种新的数据类型(较难,非重点)
    第四部分:策略编写,也就是利用代码将我们在股票市场中的交易原则表达出来(较难,重点)
    第五部分:回测系统编写,股票回测即是基于历史已经发生过的真实行情数据,在历史上某一段时间内,模拟真实金融市场中股票的买入、卖出,得出这个时间段内的盈利率等数据(较难,重点)
    第六部分:实例化策略并回测得到收益,继承一个策略类,得到一个实际的例子,利用股票数据回测得出结果(简单,重点)

    1、模块导入

    import akshare as ak
    import numpy as np
    import pandas as pd
    import matplotlib.pyplot as plt
    from collections import namedtuple
    from collections import OrderedDict
    from collections.abc import Iterable
    from functools import reduce
    from abc import ABC, abstractmethod
    

    akshare:用于下载股票的交易数据(前复权)
    collections:对基本数据类型做进一步处理,实现特定的数据类型
    abc:主要定义了基本类和最基本的抽象方法,可以为子类定义共有的接口API,不需要具体实现

    2、数据获取

    # 获取某一只股票一段时间的数据
    stock_sz300750_df = ak.stock_zh_a_daily(symbol="sz300750", start_date="20200103", end_date="20211231", adjust="qfq")
    # list_date = list(stock_sz300750_df['date'])
    # stock_sz300750_df.index = list_date
    stock_sz300750_df.head()
    

    在这里插入图片描述
    函数ak.stock_zh_a_daily()用于获取A股股票数据
    symbol为股票代码,sh为上交所股票,sz为深交所股票;strat_date、end_date分别为股票数据开始时间、结束时间;adjust默认为不复权的数据, qfq是返回前复权后的数据,hfq是 返回后复权后的数据

    3、股票数据类型转换

    由于后面写了两个量化交易策略,而且策略中的有部分指标不相同,所以在这一部分以及下面回测系统两部分面向对象编程,有部分函数只用于策略一,有部分只用于策略二。

    # 将股票数据转化为新的数据类型
    class StockTradeDays(object):
        def __init__(self, price_array, date_array=None):
            self.price_array = price_array
            self.date_array = self._init_days(date_array)
            self.change_array = self._init_change()
            self.s_short = self._init_sma_short(price_array)
            self.s_long = self._init_sma_long(price_array)
            self.stock_dict = self._init_stock_dict()
    
        def _init_change(self):
            # 收益率
    
            change_array = self.price_array.pct_change(periods=1)
            return change_array
    
        def _init_days(self, date_array):
            # 日期序列
            
            date_array = [str(date) for date in date_array]
            return date_array
    
        def _init_sma_short(self, price_array):
            # 5日移动平均线
            
            s_short = price_array.rolling(window=5, min_periods=5).mean()
            return s_short
        
        def _init_sma_long(self, price_array):
            # 30日移动平均线
            
            s_long = price_array.rolling(window=30, min_periods=30).mean()
            return s_long
        
        def _init_stock_dict(self):
            # 将股票的日期、收盘价、涨跌幅转化为一个新的数据类型
    
            stock_namedtuple = namedtuple('stock', ('date', 'price', 'change', 's_short', 's_long'))
    
            # 使用以被赋值的date_array等进行OrderedDict的组装
            stock_dict = OrderedDict((date, stock_namedtuple(date, price, change, s_short, s_long)) for date, price, change, s_short, s_long 
                                     in zip(self.date_array, self.price_array, self.change_array, self.s_short, self.s_long))
            return stock_dict
    
       
        def filter_stock(self, want_up=True, want_calc_sum=False):
            # 判断交易日股票是上涨还是下跌
            # Python中的三目表达式的写法
            filter_func = (lambda p_day: p_day.change > 0) if want_up else (lambda p_day: p_day.change < 0)
            # 使用filter_func做筛选函数
            want_days = list(filter(filter_func, self.stock_dict.values()))
    
            if not want_calc_sum:
                return want_days
    
            # 需要计算涨跌幅和
            change_sum = 0.0
            for day in want_days:
                change_sum += day.change
            return change_sum    
    

    相同指标:date、price、change
    策略一:s_short、s_long分别为5日移动平均线和30日移动平均线;可以根据自己的需求更改参数数据
    策略二:函数filter_stock(),用于判断交易日股票是上涨还是下跌

    最后将DataFrame数据转换为自定义数据类型OrderedDict

    trade_days = StockTradeDays(stock_sz300750_df['close'], stock_sz300750_df['date'])
    if isinstance(trade_days, Iterable) :
        for day in trade_days:
            print(day) 
    

    在这里插入图片描述

    4、回测系统编写

    class TradeStrategyBase(ABC, object):   # 只能被继承,不能实例化
         # 交易策略抽象基类
    
        @abstractmethod
        def buy_strategy(self, *args, **kwargs):
            # 买入策略基类
            pass
    
        @abstractmethod
        def sell_strategy(self, *args, **kwargs):
            # 卖出策略基类
            pass
    
    
    class TradeLoopBack(object):
        # 交易回测系统
    
        def __init__(self, trade_days, trade_strategy):
            """
            使用上面封装的StockTradeDays类和编写的交易策略类
            TradeStrategyBase类初始化交易系统
            :param trade_days: StockTradeDays交易数据序列
            :param trade_strategy: TradeStrategyBase交易策略
            """
            self.trade_days = trade_days
            self.trade_strategy = trade_strategy
            # 交易盈亏结果序列
            self.profit_array = []
    
        def execute_trade(self):
            # 执行交易回测
            
            for ind, day in enumerate(self.trade_days):
            # 以时间驱动,完成交易回测
                
                if self.trade_strategy.keep_stock_day == 1 or self.trade_strategy.keep_stock_day > 0:
                    # 如果有持有股票,加入交易盈亏结果序列
                    self.profit_array.append(day.change)
    #                 print("日期:{},持有中".format(day.date))
    
                # hasattr: 用来查询对象有没有实现某个方法
                if hasattr(self.trade_strategy, 'buy_strategy'):
                    # 买入策略执行
                    self.trade_strategy.buy_strategy(ind, day, self.trade_days)
    #                 if self.trade_strategy.keep_stock_day == 1:
    #                     print("日期:{},买入策略执行".format(day.date))
    
                if hasattr(self.trade_strategy, 'sell_strategy'):
                    # 卖出策略执行
                    self.trade_strategy.sell_strategy(ind, day, self.trade_days)
    #                 if self.trade_strategy.keep_stock_day == 0:
    #                     print("日期:{},卖出策略执行".format(day.date))
    

    execute_trade()函数中,利用循环遍历整一个交易时段,将获得的每日股票数据传给交易策略进行判断,最终确定是买入、卖出还是持有

    5、策略编写

    class TradeStrategy1(TradeStrategyBase):
        """
            交易策略1: 利用5日移动平均线与30日移动平均线交叉点进行股票买卖
            当5日移动平均线从下往上穿过30日移动平均线时,买入股票并持有
            当5日移动平均线从上往下穿过30日移动平均线时,卖出股票
        """
        def __init__(self, stock_df):        
            self.keep_stock_day = -1
    
        def buy_strategy(self, trade_ind, trade_day, trade_days):
            if not pd.isna(trade_days[trade_ind - 1].s_long):
            # 只有当长期移动平均线的数据有了,才能进行下一步操作    
                
                # 今日移动平均线值
                today_short = trade_day.s_short
                today_long = trade_day.s_long
    
                # 昨日移动平均线值
                yesterday_short = trade_days[trade_ind - 1].s_short
                yesterday_long = trade_days[trade_ind - 1].s_long
    
                if today_short > today_long and yesterday_short < yesterday_long:
                    # 买入条件成立:
                    self.keep_stock_day = 1
    
        def sell_strategy(self, trade_ind, trade_day, trade_days):
            if not pd.isna(trade_days[trade_ind - 1].s_long):
            # 只有当长期移动平均线的数据有了,才能进行下一步操作            
                
                # 今日移动平均线值
                today_short = trade_day.s_short
                today_long = trade_day.s_long
    
                # 昨日移动平均线值
                yesterday_short = trade_days[trade_ind - 1].s_short
                yesterday_long = trade_days[trade_ind - 1].s_long
    
                if today_short < today_long and yesterday_short > yesterday_long:
                    # 卖出条件成立:
                    self.keep_stock_day = 0
    

    移动平均线是将一定时期内的股票价格加以平均,把不同时间的平均值连接起来形成一根MA,利用长短期的移动平均线交叉点观察股票价格变动趋势的一种技术指标。因此,只有到了第30天才可以获得30日移动平均值,才可能进行买卖。
    判断买入条件:当短期移动平均线从下往上穿过长期移动平均线时,可以认为短期内股价的趋势向上,股价可能会上涨
    判断卖出条件:当短期移动平均线从上往下穿过长期移动平均线时,可以认为短期内股价的趋势向下,股价可能会下跌

    class TradeStrategy2(TradeStrategyBase):
        """
            交易策略2: 追涨杀跌策略,当股价连续两个交易日上涨
            且上涨幅度超过阀值默认s_buy_change_threshold(),买入股票并持有
            当股价连续两个交易日下跌
            且下跌幅度超过阀值默认s_sell_change_threshold(),卖出股票
        """
        def __init__(self):
            self.keep_stock_day = 0
            self.s_buy_change_threshold = 0.05      # 上涨买入阀值
            self.s_sell_change_threshold = -0.05   #下跌卖出阀值
    
        def buy_strategy(self, trade_ind, trade_day, trade_days):
            if self.keep_stock_day == 0 and trade_ind >= 1:
                """
                    当没有持有股票的时候self.keep_stock_day == 0 并且
                    trade_ind >= 1, 不是交易开始的第一天,因为需要yesterday数据
                """
                # trade_day.change > 0 bool:今天是否股价上涨
                today_down = trade_day.change > 0
                # 昨天是否股价上涨
                yesterday_down = trade_days[trade_ind - 1].change > 0
                # 两天总涨幅
                down_rate = trade_day.change + trade_days[trade_ind - 1].change
                if today_down and yesterday_down and down_rate > self.s_buy_change_threshold:
                    # 买入条件成立:连涨两天,涨幅超过s_buy_change_threshold
                    self.keep_stock_day += 1
    
        def sell_strategy(self, trade_ind, trade_day, trade_days):
            # trade_day.change < 0 bool:今天是否股价下跌
            today_down = trade_day.change < 0
            # 昨天是否股价下跌
            yesterday_down = trade_days[trade_ind - 1].change < 0
            # 两天总跌幅
            down_rate = trade_day.change + trade_days[trade_ind - 1].change
            if today_down and yesterday_down and down_rate < self.s_sell_change_threshold:
                # 卖出条件成立:连跌两天,跌幅超过s_sell_change_threshold
                self.keep_stock_day = 0
    
        @property
        def s_buy_change_threshold(self):
            # getter获取属性函数
            return self.__s_buy_change_threshold
    
        @s_buy_change_threshold.setter
        def s_buy_change_threshold(self, s_buy_change_threshold):
            # setter属性赋值
            if not isinstance(s_buy_change_threshold, float):
                """
                    上涨阀值需要为float类型
                """
                raise TypeError('buy_change_threshold must be float!')
            # 上涨阀值只取小数点后两位
            self.__s_buy_change_threshold = round(s_buy_change_threshold, 2)
    
        @property
        def s_sell_change_threshold(self):
            # getter获取属性函数
            return self.__s_sell_change_threshold
    
        @s_sell_change_threshold.setter
        def s_sell_change_threshold(self, s_sell_change_threshold):
            # setter属性赋值
            if not isinstance(s_sell_change_threshold, float):
                """
                    上涨阀值需要为float类型
                """
                raise TypeError('buy_change_threshold must be float!')
            # 上涨阀值只取小数点后两位
            self.__s_sell_change_threshold = round(s_sell_change_threshold, 2)
    

    策略二可以认为是非理性人在股票市场中交易时,遇到多日上涨且上涨幅度较大时,会认为股票有继续上涨的趋势,为了获利所以买入股票;但当某一股票连续下跌且下跌幅度超过心理预期时,会认为股票又继续下跌的趋势,为了止损卖出股票。
    策略二中买入股票条件为:当股价连续两个交易日上涨且上涨幅度超过0.05,买入股票并持有
    卖出条件为:当股价连续两个交易日下跌且下跌幅度超过-0.05,卖出股票
    相关参数可以根据需求修改

    6、实例化策略

    # 实例化策略1
    trade_strategy1 = TradeStrategy1(stock_sz300750_df)
    trade_loop_back = TradeLoopBack(trade_days, trade_strategy1)
    trade_loop_back.execute_trade()
    print('回测策略1总盈亏为:{}%'.format(reduce(lambda a, b: a + b, trade_loop_back.profit_array) * 100))
    plt.plot(np.array(trade_loop_back.profit_array).cumsum())
    

    经过前面的所有步骤之后,就可以实例化一个交易策略,利用交易数据进行回测,可得到相应的结果:
    在这里插入图片描述

    # 实例化策略2
    trade_strategy2 = TradeStrategy2()
    trade_loop_back = TradeLoopBack(trade_days, trade_strategy2)
    trade_loop_back.execute_trade()
    print('回测策略2总盈亏为:{}%'.format(reduce(lambda a, b: a + b, trade_loop_back.profit_array) * 100))
    plt.plot(np.array(trade_loop_back.profit_array).cumsum())
    

    结果:
    在这里插入图片描述

    非面向对象的编程

    由于对面向对象编程不太擅长,所以我对两个策略又分别写了新的程序,以判断上文面向对象程序是否正确

    changes_list_1 = []
    flag = -1
    for ind, day in enumerate(trade_days):
        short2 = day.s_short
        long2 = day.s_long
        short1 = trade_days[ind - 1].s_short
        long1 = trade_days[ind - 1].s_long
        if pd.isna(long1):
            continue
        if flag == 1:
            changes_list_1.append(day.change)
            print("日期:{},持有中".format(day.date))
        if short2 > long2 and short1 < long1:
            flag = 1
            print("日期:{},买入策略执行".format(day.date))
        if short2 < long2 and short1 > long1:
            flag = 0
            print("日期:{},卖出策略执行".format(day.date))
            
    print('回测策略1总盈亏为:{}%'.format(reduce(lambda a, b: a + b, changes_list_1) * 100))
    plt.plot(np.array(changes_list_1).cumsum())
    

    结果:
    在这里插入图片描述

    # 策略2
    changes_list_2 = []
    flag = 0
    for ind, day in enumerate(trade_days):
        today_down = day.change
        yesterday_down = trade_days[ind - 1].change
        if flag > 0:
            changes_list_2.append(day.change)
            print("日期:{},持有中".format(day.date))
        if today_down > 0 and yesterday_down > 0 and today_down + yesterday_down > 0.01:
            flag += 1
            print("日期:{},买入策略执行".format(day.date))
        if today_down < 0 and yesterday_down < 0 and today_down + yesterday_down < -0.01:
            flag = 0
            print("日期:{},卖出策略执行".format(day.date))
            
    print('回测策略2总盈亏为:{}%'.format(reduce(lambda a, b: a + b, changes_list_2) * 100))
    plt.plot(np.array(changes_list_2).cumsum())
    

    结果:
    在这里插入图片描述

    分析总结

    以上策略只用于量化分析,并不适合用于实际交易,之所以有较高的盈利,得益于宁王领衔的新能源板块的强势,大家也可以试试其他的股票,比如药明康德(代码:SH603259)
    在这里插入图片描述
    在这里插入图片描述
    可以看出策略对该股票进行回测交易时,获得的盈利并不客观,甚至出现较大的亏损,因此,需要对相关策略进行参数调整修改,或者发掘其他更为有效的策略……

    最后,大家如果觉得文章写的不错的话,可以点赞、收藏、关注三连哦~文中出现的所有代码已经打包上传至我的资源了,可以下载下来研究分析和运行查看

    展开全文
  • 手把手带你打造一个易扩展、更安全、效率更高的量化交易系统 教给你量化交易的投资思想 编程技术 + 核心量化策略 + 交易系统开发 + 讲师经验分享 成为一个“技术流”理财高手 适用人群 学习这门课程要有一些 Python ...

    完整版视频教程

    你将收获

    手把手带你打造一个易扩展、更安全、效率更高的量化交易系统

    教给你量化交易的投资思想

    编程技术 + 核心量化策略 + 交易系统开发 + 讲师经验分享

    成为一个“技术流”理财高手

    适用人群

    学习这门课程要有一些 Python 基础哦。 关于股票、理财和量化交易的一些基础知识在课程中都是从 0 开始讲解的哈祝您学习愉快~

    学习目标:

    近 5 年个人投资理财年化收益平均超 25%。如果你也想提升自己的睡后收入,轻松赚钱,那么这门课就是为你量身打造。课程基于一个完整真实的量化交易业务来讲授,并融入老师的理财经验以及使用编程技术辅助投资的技巧,让你面对各种复杂投资情况也能做到游刃有余。

    从不懂“理财”开始到实现自动交易,成为一个“技术流”理财高手

    编程技术 + 核心量化策略 + 交易系统开发 + 讲师经验分享,学会用技术辅助理财

    本课程从最基础的什么是量化开始讲起,即使对投资理财不了解同样可以学习,轻松入门无压力。

    从如何获取数据开始,到实现实盘交易,课程对量化交易的每一步都进行细致讲解,为你铺开量化交易的每一个细节。

    不仅仅只是教你学会使用某种工具,更会教给你量化交易的投资思想,让你面对各种情况都游刃有余。

    课程亮点:

    设计适合自己并能适应市场的交易策略,才是量化交易的灵魂

    课程亲手带你设计并实现两种交易策略,快速培养你的策略思维能力

    1. 择时策略:通过这个策略学会如何利用均线,创建择时策略,优化股票买入卖出的时间点。

    2. 选股策略:掌握选股策略的核心逻辑,并基于收益率创建动量选股策略,并验证其有效性。

    手把手带你打造一个易扩展、更安全、效率更高的量化交易系统

    第三方平台大而全,不易扩展,效率还差,信息安全也是大问题,打造自己的交易平台才是更优解
    交易平台系统架构如下图:

    展开全文
  • 迅投QMT量化交易平台:支持VBA、python语言编程,可交易的标的包括股票、ETF、可转债。 优点包括:智能算法行业顶级,多语言量化策略编写与回测和极速回测。A股佣金万1,两融利率低至4.99%、佣金万1.2,可以帮您节约...

    现在支持python的量化平台有很多,其中的“佼佼者”无疑是聚宽量化平台讯投QMT

    简单介绍下两款量化平台:

    迅投QMT量化交易平台:支持VBA、python语言编程,可交易的标的包括股票、ETF、可转债。
    优点包括:智能算法行业顶级,多语言量化策略编写与回测和极速回测。A股佣金万1,两融利率低至4.99%、佣金万1.2,可以帮您节约不少交易成本!讯投QMT现在佣金万1.5左右就可以开通个人用户的实盘!
    自定义指标界面
    聚宽量化交易平台:支持C++、MATLAB、python语言编程,支持模拟盘、可交易标的包括股票、ETF。
    优点包括:丰富的数据库,教学资料丰富、社区活跃,历史回测分析功能丰富。
    聚宽量化交易平台:支持C++、MATLAB、python语言回测功能界面展示
    有使用过或者对量化交易感兴趣的朋友,欢迎私信留言交流。

    展开全文
  • 量化交易系统python+mysql(一)

    千次阅读 2019-07-21 00:00:20
    之前用python+hdf5+其他实现了一个简单功能的量化交易系统。在使用过程中,遇到了性能问题,以及扩展问题。所以,想改用mysql+redis架构。 工欲善其事,必先利其器: windows系统,mysql-8.0.16-winx64,Navicat ...
  • 不过 Python 还有一个神秘而有趣的应用领域,那就是量化交易量化交易,就是以数学模型替代人的主观判断来制定交易策略。通常会借助计算机程序来进行策略的计算和验证,最终也常直接用程序根据策略设定的规则自动...
  • 简易模拟回测,模拟回测,模拟交易系统,回测系统,量化回测,回测交易 任意python版本 说明: 1、将文件"simeasure.pyd"直接拷贝至程序的根目录直接通过import simeasure导入模块,通过创建实例使用,并通过实例...
  • 采用python语言实现的量化框架,原则尽量以简洁的语言实现金融交易等功能,系统架构清晰,方便二次开发,理论支持 股票、期货、期权等,目前只支持股票。 2.如果遇到问题,欢迎提交issue、代码,交流QQ群:...
  • Python数字货币量化交易

    千次阅读 2020-06-15 11:16:49
    在数字货币量化领域的资料实在是太少了,我总结了一下我的经验(以火币交易所为例)以供小白参考 第一步:申请api key和secret, 第二步:查看交易所的api文档...
  • BakTst_Trd 是一个比特币量化交易系统
  • TensorFlow是近年来影响大的神经网络、深度学习平台,本书从入门者的角度,对TensorFlow进行了介绍,《零起点TensorFlow与量化交易》中通过大量的实际案例,让初学者快速掌握神经网络和金融量化分析的基本编...
  • 从今天开始正式开启我的博客之旅,博客内容全部是我自己的量化心得,主要还是为自己将来中工作之中遇到相似问题,可以方便的找到答案,如果能帮到有相似问题的其他同学,我也很开心,如果帮不到的话,不喜勿喷,如果...
  • Python金融分析与量化交易实战课程旨在帮助同学们快速掌握Python数据分心核心技能与交易交易系统策略部署与回测分析。 全部课程内容皆以实战为主,通俗讲解数据分析常用方法与经典解决方案。 主要包括三大核心模块...
  • 本文将探索新的策略回测程序,主要是为了尝试不同的技术指标在backtrader平台上的应用,为后续复杂策略的实现做准备。 本文将实现的策略是,当股票放量突破布林线中轨时进行买入,当股票收盘价低于短期均线时卖出。...
  • 本文开始探索使用深度学习进行量化交易的过程,几点说明如下: 文章仍然以“趟路”为主要目的,旨在走通将深度学习在量化交易中使用过程,忽略当前学习模型的收益情况。 深度学习框架选择使用Keras。没有特殊原因,...
  • python量化交易之路

    2021-10-28 22:35:37
    ## 写在前面 ## 量化交易概念 ## 国内外平台 ## 我最近关注的量化交易框架 ## 一些文章分享
  • 因此,在量化投资中,不同的投资者和研究者都开发了很多不同的多因子模型。各种多因子模型核心的区别一是在因子的选取上,二是在如何用多因子综合得到一个最终的判断。一般而言,多因子选股模型有两种判断方法,一是...
  • 量化交易对我们而言,最重要的就是数据了。如何获取交易数据呢?我们准备写一个简单的爬虫,每天从交易所爬取最新的数据,这里介绍的不是日内级别的策略。所以我们只需要交易所的日数据就可以了。我们先从上期所开始...
  • python 了解量化交易

    2021-12-27 21:40:07
    一、什么是量化交易 针对可交易的投资商品,理性的啊运用逻辑分析和归纳统计判断市场的趋势 二、有哪些指标可以用于分析呢 赚钱因子 盈利能力 财报数据没用,主要踏踏实实去看去分析,靠虚无缥缈的消息去买入卖出...
  • python股票量化系统

    2022-04-24 13:37:26
    python编写,支持python3.4+,有如下功能: 可视化(基于PyQT的界面) 多线程事件引擎 四大功能 股票数据 选股 策略回测 实盘交易 历史数据均免费来自于网络 Wind免费个人接口 TuShare 实盘微信提醒及交互 一键...
  • 本文主要记录保护点卖出策略,给买入的股票设立保护点,随着股票收盘价的提升,保护点不断提高,股价一旦跌破保护点,即卖出股票。 示例的买入条件为,5日线金叉60日线,且股价进行小幅回踩(较金叉日收盘价下跌1%)...
  • python实现股票量化交易系统

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 8,782
精华内容 3,512
关键字:

量化交易系统python

友情链接: BooksManage.zip