量化交易:Dual Thrust策略

哈嘍,大家好,我是木頭左!

Dual Thrust策略起源于20世紀80年代,由美國著名交易員和金融作家Larry Williams首次提出。這一策略的核心思想是通過捕捉市場中的短期波動來實現盈利。Larry Williams通過多年的研究和實踐,發現市場中存在一種周期性的波動模式,通過這種模式可以預測價格的短期走勢。

策略原理

Dual Thrust策略的核心思想是利用市場的波動性來捕捉趨勢。Dual Thrust策略主要依賴于兩個關鍵參數:Range和ATR(平均真實波動范圍)。Range是指當前收盤價與前一個交易日的最高價和最低價之間的最大距離,而ATR則是過去一段時間內Range的平均值。通過這兩個參數,投資者可以確定買入和賣出的觸發點,從而實現盈利。該策略通過計算上軌和下軌兩個閾值,來判斷市場的多空方向。當價格突破上軌時,策略認為市場處于多頭趨勢,進行做多操作;當價格跌破下軌時,策略認為市場處于空頭趨勢,進行做空操作。上軌和下軌的計算公式如下:

上軌:開盤價 + K1 * 波動
下軌:開盤價 - K2 * 波動

其中,波動是指在給定的時間窗口內,最高價與最低價之間的最大差值。K1和K2是兩個參數,用于調整上下軌的敏感度。

在聚寬平臺運行Python代碼

選股方式

在Dual Thrust策略中,選股方式相對簡單。選擇一個特定的合約作為交易標的,例如螺紋鋼(SHFE.RB)。在策略初始化時,訂閱該合約,并設置相關參數。

def init(context):context.symbol = 'SHFE.RB'context.N = 5context.k1 = 0.2context.k2 = 0.2schedule(schedule_func=algo, date_rule='1d', time_rule='21:00:00')schedule(schedule_func=algo, date_rule='1d', time_rule='09:30:00')
擇時

擇時是Dual Thrust策略的關鍵環節。通過計算歷史數據中的最高價、最低價、收盤價等信息,來確定上下軌的位置。在每個交易時段開始時,計算當前的上下軌,并根據這些閾值來決定交易方向。

def algo(context):# ...(省略部分代碼)data = history_n(symbol=context.main_contract, frequency='1d', end_time=context.now,fields='symbol,open,high,low,close', count=context.N + 1, df=True)current_open = data.open.iloc[-1]data.drop(context.N, inplace=True)HH = data['high'].max()HC = data['close'].max()LC = data['close'].min()LL = data['low'].min()range = max(HH - LC, HC - LL)context.buy_line = current_open + range * context.k1context.sell_line = current_open - range * context.k2
策略交易

在每個交易時段,根據當前價格與上下軌的關系,來執行交易操作。如果價格突破上軌,進行做多操作;如果價格跌破下軌,進行做空操作。同時,還需要處理平倉和開倉的邏輯。

def on_bar(context, bars):bar = bars[0]positions = get_position()position_long = list(filter(lambda x: x['symbol'] == context.main_contract and x['side'] == PositionSide_Long, positions))if bar.close > context.buy_line:# 情況1:已經持有多倉,直接返回if position_long:  return# 情況2:沒有持倉時,直接開多倉            else: order_volume(symbol=context.main_contract, volume=1, side=OrderSide_Buy, order_type=OrderType_Limit, position_effect=PositionEffect_Open, price=bar.close)elif bar.close < context.sell_line:order_volume(symbol=context.main_contract, volume=1, side=OrderSide_Sell, order_type=OrderType_Limit, position_effect=PositionEffect_Close, price=bar.close)

策略的優勢與風險

簡化版的Dual Thrust策略在股票市場中具有以下優勢:

  1. 簡單易懂:策略邏輯簡單,易于理解和實施。
  2. 趨勢跟蹤:能夠捕捉市場的主要趨勢,提高收益。
  3. 適應性強:適用于多種股票、期貨市場環境。
    市場有風險,交易需謹慎。
    感興趣的朋友,可以共同交流!

我是木頭左,感謝各位童鞋的點贊、收藏,我們下期更精彩!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/12185.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/12185.shtml
英文地址,請注明出處:http://en.pswp.cn/web/12185.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

智能EDM郵件群發工具哪個好?

企業之間的競爭日益激烈&#xff0c;如何高效、精準地觸達目標客戶&#xff0c;成為每個市場戰略家必須面對的挑戰。在此背景下&#xff0c;云銜科技憑借其前沿的AI技術和深厚的行業洞察&#xff0c;匠心推出了全方位一站式智能EDM郵件營銷服務平臺&#xff0c;重新定義了郵件營…

[ECE] SRAM DRAM

SRAM&#xff08;Static Random-Access Memory&#xff0c;靜態隨機存取存儲器&#xff09;和DRAM&#xff08;Dynamic Random-Access Memory&#xff0c;動態隨機存取存儲器&#xff09;是兩種主要的隨機存取存儲器技術&#xff0c;它們在計算機和其他電子設備中扮演著重要的角…

2024OD機試卷-字符串序列判定 (java\python\c++)

題目:字符串序列判定 題目描述 輸入兩個字符串 S 和 L ,都只包含英文小寫字母。S長度 ≤ 100,L長度 ≤ 500,000。判定S是否是L的有效子串。 判定規則:S 中的每個字符在 L 中都能找到(可以不連續),且 S 在L中字符的前后順序與 S 中順序要保持一致。(例如,S = ” ace…

StringBuilder

demo1 描述&#xff1a; 主要演示了StringBuilder類的使用。 首先創建一個空的StringBuilder對象s。 使用System.out.println()方法打印對象s&#xff0c;輸出結果為""&#xff08;空字符串&#xff09;。 調用StringBuilder的append()方法多次&#xff0c;將字符串…

半小時搞懂STM32面經知識——RCC

1. 時鐘的概念 時鐘是由電路產生的具有周期性的脈沖信號&#xff0c;相當于單片機的心臟&#xff0c;要想使用單片機的外設必須開啟時鐘。 時鐘對單片機有什么作用&#xff1f; 1. 驅動外設的本質是寄存器&#xff0c;而寄存器需要時鐘觸發才能改寫值。 2. 時鐘頻率越高&#…

安全風險 - 如何解決 setAccessible(true) 帶來的安全風險?

可能每款成熟的金融app上架前都會經過層層安全檢測才能執行上架&#xff0c;所以我隔三差五就能看到安全檢測報告中提到的問題&#xff0c;根據問題的不同級別&#xff0c;處理的優先級也有所不同&#xff0c;此次講的主要是一個 “輕度問題” &#xff0c;個人認為屬于那種可改…

FinnConverter格式轉換工具

FinnConverter簡介 1. 簡潔的操作界面 2. 支持多種格式相互轉換 支持word轉pdf&#xff1b;ppt轉pdf&#xff1b;raw格式轉png/jpng…&#xff1b;其他格式相互轉換 2.1 輸入格式支持 bmp、cr2、cr3、crw、cur、dcr、dng、doc、docx、gif、ico、jpeg、jpg、kdc、mos、nef、…

線程縱橫:C++并發編程的深度解析與實踐

hello &#xff01;大家好呀&#xff01; 歡迎大家來到我的Linux高性能服務器編程系列之《線程縱橫&#xff1a;C并發編程的深度解析與實踐》&#xff0c;在這篇文章中&#xff0c;你將會學習到C新特性&#xff0c;并發編程&#xff0c;以及其如何帶來的高性能的魅力&#xff0…

LeetCode hot100-39-N

101. 對稱二叉樹給你一個二叉樹的根節點 root &#xff0c; 檢查它是否軸對稱。做不出來哇&#xff0c;遞歸一生之敵 普通的對一棵樹的遞歸遍歷根本沒辦法只接比較左子樹的左和右子樹的右這樣來比較&#xff0c;所以這題比較巧妙的是把這棵樹當做兩棵樹一樣去遍歷比較。 官方…

使用XxlCrawler抓取全球航空公司ICAO三字碼

目錄 前言 一、數據源介紹 1、目標網站 2、頁面渲染結構 二、XxlCrawler信息獲取 1、創建XxlCrawler對象 2、定義PageVo對象 3、直接PageVO解析 4、自定義解析 總結 前言 長距離旅行或者出差&#xff0c;飛機一定是出行的必備方式。對于旅行達人或者出差人員而言&…

中國目前比較有影響力的人物顏廷利:物質與無知通音

既然是在中國優秀傳統文化之根-漢語當中&#xff0c;漢字‘物質’二字跟‘無知’通音&#xff0c;因此&#xff0c;面對當前金錢肆虐、物欲橫流的現實生活&#xff0c;當人類眾生把‘物質’&#xff08;無知&#xff09;生活看的太真、太重時&#xff0c;那么&#xff0c;這就很…

什么是wamp

WAMP是一個縮寫&#xff0c;代表Windows、Apache、MySQL和PHP。它是一個用于本地開發網絡應用程序的軟件堆棧&#xff0c;主要用于在Windows操作系統上搭建Web服務器環境。WAMP提供了一個簡單的方式&#xff0c;讓開發者可以在本地計算機上模擬一個Web服務器環境&#xff0c;以…

Python模塊之Numpy(四)-- 矩陣

矩陣的創建 在NumPy中&#xff0c;矩陣是ndarray的子類&#xff0c;常用來創建矩陣的函數有mat、matrix以及bmat&#xff0c;使用如下&#xff1a; import numpy as np matr1 np.mat("1 1 1; 2 2 2;3 3 3") #矩陣的行用分號隔開,列用空格隔開 matr2 np.matrix([[1…

Banana Pi BPI-F3, 進迭時空K1芯片設計,定位工業級應用,網絡通信及工業自動化

香蕉派BPI-F3是一款工業級 8核RISC-V開源硬件開發板&#xff0c;它采用進迭時空&#xff08;SpacemiT&#xff09; K1 8核RISC-V芯片設計&#xff0c;CPU集成2.0 TOPs AI計算能力。4G DDR和16G eMMC。2個GbE以太網接口&#xff0c;4個USB 3.0和PCIe M.2接口&#xff0c;支持HDM…

kafka SSL加密 —— 筑夢之路

生成SSL證書文件腳本 #!/bin/bash ################################## 設置環境變量 ############################## BASE_DIR/mnt/disk/test # SSL各種生成文件的基礎路徑 CERT_OUTPUT_PATH"$BASE_DIR/certificates" # 證書文…

Jenkins構建流程

Jenkins是DevOps【(Development和Operations的混成詞&#xff09;是一種重視“軟件開發人員&#xff08;Dev&#xff09;”和“IT運維技術人員&#xff08;Ops&#xff09;”之間溝通合作的文化、運動或慣例)】的重要一環&#xff0c;是一款開源的CI&CD軟件。也就是持續集成…

汽車行業軟件開發V 模型與醫療行業異同,與傳統瀑布開發模型區別

軟件開發在汽車和醫療行業 V 模型的異同 V 模型是一種軟件開發過程中的驗證和確認模型&#xff0c;它被用來表示軟件開發的各個階段和它們的驗證/ 確認活動。 在汽車和醫療行業中&#xff0c;V模型的使用有一些相似之處&#xff0c;但也有一些不同之處。 相同之處: 都使用V 模…

【LeetCode】【滑動窗口】【雙指針】長度最小的子數組

題目&#xff1a;209. 長度最小的子數組 - 力扣&#xff08;LeetCode&#xff09; 給定一個含有 n 個正整數的數組和一個正整數 target 。找出該數組中滿足其總和大于等于 target 的長度最小的 連續子數組 [numsl, numsl1, ..., numsr-1, numsr] &#xff0c;并返回其長度。如…

【Viso畫圖】Viso導出與圖形適配的pdf

step1:選中開發工具點擊shapeSheet&#xff0c;選中頁 step2&#xff1a;進入頁面參數設置窗口&#xff0c;將下面框選的參數設為0,enter后保存 目前效果&#xff1a; step3:選中設計->大小&#xff0c;選擇適應頁面大小或者自己根據圖片調整 目前效果&#xff1a; step4: 以…

【C++】priority_queues(優先級隊列)和反向迭代器適配器的實現

目錄 一、 priority_queue1.priority_queue的介紹2.priority_queue的使用2.1、接口使用說明2.2、優先級隊列的使用樣例 3.priority_queue的底層實現3.1、庫里面關于priority_queue的定義3.2、仿函數1.什么是仿函數&#xff1f;2.仿函數樣例 3.3、實現優先級隊列1. 1.0版本的實現…