首页 证券 正文

股市分析软件(同花顺手机炒股软件官方免费下载)

wx头像 wx 2022-04-02 13:19:26 6
...
一、简介<p>我们好,我是子冉。今日给我们共享的内容是依据Python编程,完成股票买卖相关功用开发,假如读者对股票或金融衍生物买卖不太了解,又比较感兴趣的话可自行查询相关材料。</p><p>接下来笔者会给我们介绍股票买卖中的常见几种买卖战略完成思路和源码编写进程,假如我们听说过量化买卖这个词语的话,对其间的买卖战略或许了解过,大约意思便是在股票、加密钱银或许金融衍生物在价格的动摇进程中依据其买卖战略进行不断的买入和卖出,不断的套利,下降持仓陈本,来到达收益最大化。</p><p>常见的买卖战略有许多种,例如趋势型,网格型,剥头皮,概率规律,高频买卖等,今日主要给我们介绍2种低频的买卖战略,高抛低吸网格买卖战略、日内做T战略。其他的买卖战略较杂乱,读者可自行百度了解,笔者这儿引荐一个量化买卖网站,仅供参阅,米筐量化:</p><p>ricequant/doc/quant/</p>二、需求剖析&完成思路<p>每个买卖日的股票都会上涨或许跌落,在这个进程中笔者们偶然会想针对部分股票进行股价的涨跌幅进行监控,或许主动进行买卖,在这个需求前提下,现有券商、股票剖析软件都会带有机器人主动买卖战略功用,大部分都需求收费或许部分战略不能满意自己的需求,笔者这边供给2种完成思路:</p><p>1、凭借现有量化渠道编写战略和回测剖析,然后在券商软件层面进行战略履行。</p><p>2、自己编写功用代码来监控评价,对股价动摇进行特别处理满意特别需求。</p><p>第一种完本钱钱较低,但功用受限于渠道;第二种完本钱钱毋庸置疑相对较高,可是逻辑能够自己操控。</p>三、凭借现有量化渠道编写战略和回测剖析<p>这儿运用米筐量化完成和剖析自己的买卖战略,需求先注册个账号,然后进入到渠道-笔者的战略中进行战略编写,渠道的功用运用能够参阅渠道文档。</p><p>笔者这儿贴出笔者自己写的2种战略代码,这个渠道只支撑运用Python脚本编写。</p>1)价差买卖战略<p>渠道截图:</p><p style="text-align:center;"><img src="//img.changhecl.com/img_changhecl_com/zb_users/upload/water/2022-04-02/6247dce2c27b7.jpeg" title="股市分析软件(同花顺手机炒股软件官方免费下载)" alt="股市分析软件(同花顺手机炒股软件官方免费下载)"></p><p>部分代码如下,具体代码能够自己手撸完成,也能够在文末进行获取:</p># 你挑选的证券的数据更新将会触发此段逻辑,例如日或分钟历史数据切片或许是实时数据切片更新 def handle_bar(context, bar_dict): ...     if newPrice &gt;= context.nextSellPrice:         logger.info(&#34;履行高抛买卖,对应价格:{}&#34;.format(newPrice))         amount = context.portfolio.positions[context.s1].quantity         if amount &gt;= context.tradeNumber:             logger.info(&#34;履行高抛买卖,对应数量:{}&#34;.format(context.tradeNumber))             order_shares(context.s1, -context.tradeNumber)             plot(&#34;S&#34;, newPrice)         elif amount &gt;= 100:             logger.info(&#34;履行高抛买卖,对应数量:{}&#34;.format(amount))             order_shares(context.s1, -amount)             plot(&#34;S&#34;, newPrice)                   calc_next_trade_price(context,newPrice)         obj = {             &#34;nextSellPrice&#34;:context.nextSellPrice,             &#34;nextBuyPrice&#34;:context.nextBuyPrice,             &#34;curTradePrice&#34;:context.curTradePrice         }         context.buyTradeList.append(obj)      if newPrice &lt;= context.nextBuyPrice:         logger.info(&#34;履行低吸买卖,对应价格:{}&#34;.format(newPrice))         amount = int(context.portfolio.cash / newPrice / 100.0)  * 100         if amount &gt;= context.tradeNumber:             logger.info(&#34;履行低吸买卖,对应数量:{}&#34;.format(context.tradeNumber))             order_shares(context.s1, context.tradeNumber)             plot(&#34;B&#34;, newPrice)          calc_next_trade_price(context,newPrice)                 obj = {             &#34;nextSellPrice&#34;:context.nextSellPrice,             &#34;nextBuyPrice&#34;:context.nextBuyPrice,             &#34;curTradePrice&#34;:context.curTradePrice         }         context.sellTradeList.append(obj)  <p>挑选回测时间段,点击右侧渠道右侧按钮运转回测,成果页面如下</p><p>从成果中能够看到,对招商银行[600036]这只股票进行价差网格买卖,其参数设置在上涨8%的时分卖出,跌落8%的时分买入,最大接连跌落买入次数为3次。</p><p>回测收益:13.628%</p><p>回测年化收益:17.096%</p><p>比基准年化收益-6%高出十分之大,这是在股价动摇的进程中能够进行履行该战略来不断的下降持仓本钱。从买卖概况面板来看,这个战略能够经过参数调理买卖频率,在上涨跌落比率较大的情况下,其买卖次数是能操控的相对较少,成果图如下:</p>2)日内做T战略<p>相同的,只贴部分代码</p># 你挑选的证券的数据更新将会触发此段逻辑,例如日或分钟历史数据切片或许是实时数据切片更新 def handle_bar(context, bar_dict): ...     newPrice = bar_dict[context.s1].last     if newPrice &gt;= context.nextSellPrice:         context.lastTradeType = 1         logger.info(&#34;履行高抛买卖,对应价格:{}&#34;.format(newPrice))         amount = context.portfolio.positions[context.s1].quantity         #if amount - context.tradeNumber &gt;= context.lockStockNumber:         if amount - context.tradeNumber &gt;= 0:             logger.info(&#34;履行高抛买卖,对应数量:{}&#34;.format(context.tradeNumber))             order_shares(context.s1, -context.tradeNumber)             plot(&#34;S&#34;, newPrice)         else:             logger.info(&#34;股票数量缺乏,无法履行高抛买卖,对应数量:{}&#34;.format(amount))             return                      calc_next_trade_price(context,newPrice)          obj = {             &#34;nextSellPrice&#34;:context.nextSellPrice,             &#34;nextBuyPrice&#34;:context.nextBuyPrice,             &#34;curTradePrice&#34;:context.curTradePrice         }         context.buyTradeList.append(obj)      if newPrice &lt;= context.nextBuyPrice:         context.lastTradeType = 0         logger.info(&#34;履行低吸买卖,对应价格:{}&#34;.format(newPrice))         amount = int(context.portfolio.cash / newPrice / 100.0)  * 100         if amount &gt;= context.tradeNumber:             logger.info(&#34;履行低吸买卖,对应数量:{}&#34;.format(context.tradeNumber))             order_shares(context.s1, context.tradeNumber)             plot(&#34;B&#34;, newPrice)         else:             logger.info(&#34;现金缺乏,无法履行低吸买卖,对应数量:{}&#34;.format(amount))             return              calc_next_trade_price(context,newPrice)                 obj = {             &#34;nextSellPrice&#34;:context.nextSellPrice,             &#34;nextBuyPrice&#34;:context.nextBuyPrice,             &#34;curTradePrice&#34;:context.curTradePrice         }         context.sellTradeList.append(obj) <p>整体来说,代码逻辑仍是比较简单,便是对价格的涨跌进行处理,其参数设置在日内上涨2%的时分卖出,跌落2%的时分买入,初始买入资金份额7成,确定最低仓位5成。然后运转回测,其成果如下</p><p>回测收益:5.501%</p><p>回测年化收益:6.839%</p><p>基准收益:19.26%</p><p>能够看到日内做T这种高频买卖,在长时间来看收益或许并不高,适合在短期价格内运转。</p>四、总结<p>这个量化渠道在笔者的了解情况下,它能够很便利的回测你的买卖战略,可是在股价盯盘上,或许自定义逻辑上支撑的不是很完善,许多功用也是需求收费才干运用。本文依据Python,凭借现有量化渠道编写战略和回测剖析,期望对我们的学习有所协助。</p>
本文地址:https://www.changhecl.com/125084.html

退出请按Esc键