<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                # 2.2 期現套利 ? 通過股指期貨的期現差與 ETF 對沖套利 > 來源:https://uqer.io/community/share/55aa5aa8f9f06c56de1b53bb 通過股指期貨(IF1507)的期現差會圍繞滬深300指數上下波動的原理,當期現差擴大到一定程度后,使用股指期貨和ETF向對沖,以套取期現差的穩定利潤。 只通過IF1507驗證了一個基本可能性。還有很多細節需要完善。 還有,不知道如何通過order方法賣空股指期貨和etf,了解的大神可以幫我解決一下~~ ```py import pandas as pd start = datetime(2015, 6, 1) # 回測起始時間 end = datetime(2015, 7, 17) # 回測結束時間 benchmark = 'HS300' # 策略參考標準 universe = ['510300.XSHG','IF1507.CCFX'] # 股票池 capital_base = 1000000 # 起始資金 maxQxc = 0.0 #最大期現差 isOrder = False #是否已經買入對沖 direction = False # 買入方向 buyPosition = 0 # 買入點位 total = 0 def initialize(account): # 初始化虛擬賬戶狀態 pass def handle_data(account): # 每個交易日的買入賣出指令 # log.debug(account.current_date) # lowToNow = DataAPI.MktEqudAdjGet(secID = '510300', field = ['closePrice'],beginDate = lowDate, endDate = nowDate) global maxQxc,isOrder,direction,buyPosition,total # 獲取股指期貨的行情數據 if1507 = DataAPI.MktFutdGet(ticker="IF1507", beginDate=account.current_date.strftime("%Y%m%d"),endDate=account.current_date.strftime("%Y%m%d")) # 獲取etf基金的行情數據 etf300 = DataAPI.MktFunddGet(ticker = '510300', beginDate=account.current_date.strftime("%Y%m%d"),endDate=account.current_date.strftime("%Y%m%d")) # 獲取滬深300的行情數據 hs300 = DataAPI.MktIdxdGet(ticker="000300", beginDate=account.current_date.strftime("%Y%m%d"),endDate=account.current_date.strftime("%Y%m%d")) # 計算期現差 qxc = if1507['closePrice'].iloc[0] - hs300['closeIndex'].iloc[0] # log.debug((hs300['indexID']) + "/" + (if1507['secID']) + "/" + (etf300['secID'])) # log.debug(str(qxc) + "/" + str(hs300['closeIndex'].iloc[0]) + "/" + str(if1507['closePrice'].iloc[0]) + "/" + str(etf300['closePrice'].iloc[0])) # 保存期現差最大值,為后面判斷買點時用 if(abs(qxc) > abs(maxQxc)): maxQxc = qxc # 判斷期現差絕對值大于100,并開始從高點回落,同時賬戶是空倉,就買入 if(abs(maxQxc) > 100 and abs(qxc) < abs(maxQxc) and not isOrder ): direction = qxc > 0 buyPosition = qxc isOrder = True # if direction: # 正期現差時 # order(account.universe[1],-1) # 賣空一手期指 # order(account.universe[0],3000) # 買入30萬基金 # else: # 負期現差時 # order(account.universe[1],1) # 賣空一手期指 # order(account.universe[0],-3000) # 買入30萬基金 log.debug("買入點位 = "+ str(if1507['closePrice'].iloc[0]) + ",期現差 = " + str(qxc)) # 判斷已經持倉,并期現差已經反轉,就賣出 if(isOrder): if(direction): if(qxc < 0): earnings = buyPosition - qxc isOrder = False maxQxc = 0 # order(account.universe[1],1) # 賣空一手期指 # order(account.universe[0],-3000) # 買入30萬基金 account.cash = account.cash + abs(earnings)* 300 log.debug("賣出盈利 = " + str(abs(earnings)* 300)) else: if(qxc > 0): earnings = buyPosition - qxc isOrder = False maxQxc = 0 # order(account.universe[1],-1) # 賣空一手期指 # order(account.universe[0],3000) # 買入30萬基金 account.cash = account.cash + abs(earnings)* 300 log.debug("賣出盈利 = " + str(abs(earnings) * 300 ) + ",賣出時期現差 = " + str(qxc)) # for stock in account.universe: # log.debug(stock) # log.debug(account.cash) return ``` ![](https://box.kancloud.cn/2016-07-30_579cbac30161a.jpg) ``` 2015-06-01 [DEBUG] 1000000.0 2015-06-02 [DEBUG] 買入點位 = 5269.6,期現差 = 107.73 2015-06-02 [DEBUG] 1000000.0 2015-06-03 [DEBUG] 1000000.0 2015-06-04 [DEBUG] 1000000.0 2015-06-05 [DEBUG] 1000000.0 2015-06-08 [DEBUG] 賣出盈利 = 38004.0 2015-06-08 [DEBUG] 1038004.0 2015-06-09 [DEBUG] 1000000.0 2015-06-10 [DEBUG] 1000000.0 2015-06-11 [DEBUG] 1000000.0 2015-06-12 [DEBUG] 1000000.0 2015-06-15 [DEBUG] 1000000.0 2015-06-16 [DEBUG] 1000000.0 2015-06-17 [DEBUG] 1000000.0 2015-06-18 [DEBUG] 1000000.0 2015-06-19 [DEBUG] 1000000.0 2015-06-23 [DEBUG] 1000000.0 2015-06-24 [DEBUG] 1000000.0 2015-06-25 [DEBUG] 1000000.0 2015-06-26 [DEBUG] 1000000.0 2015-06-29 [DEBUG] 1000000.0 2015-06-30 [DEBUG] 買入點位 = 4381.4,期現差 = -91.598 2015-06-30 [DEBUG] 1000000.0 2015-07-01 [DEBUG] 1000000.0 2015-07-02 [DEBUG] 賣出盈利 = 34080.6,賣出時期現差 = 22.004 2015-07-02 [DEBUG] 1034080.6 2015-07-03 [DEBUG] 1000000.0 2015-07-06 [DEBUG] 1000000.0 2015-07-07 [DEBUG] 1000000.0 2015-07-08 [DEBUG] 買入點位 = 3463.4,期現差 = -199.638 2015-07-08 [DEBUG] 1000000.0 2015-07-09 [DEBUG] 1000000.0 2015-07-10 [DEBUG] 賣出盈利 = 77904.6,賣出時期現差 = 60.044 2015-07-10 [DEBUG] 1077904.6 2015-07-13 [DEBUG] 1000000.0 2015-07-14 [DEBUG] 買入點位 = 4001.6,期現差 = -110.549 2015-07-14 [DEBUG] 1000000.0 2015-07-15 [DEBUG] 1000000.0 2015-07-16 [DEBUG] 賣出盈利 = 36357.9,賣出時期現差 = 10.644 2015-07-16 [DEBUG] 1036357.9 2015-07-17 [DEBUG] 1000000.0 ```
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看