6. 內置交易策略

qteasy 提供超過70種內置交易策略,所有的交易策略都可以直接使用,通過修改這些交易策略的參數,可以很容易地實現不同的個性化效果。

qteasy 所有的內置交易策略都有完整的說明文檔,提供了交易策略的詳細說明,參數說明,以及默認參數值。每一個 qteasy 內置交易策略都有一個ID,通過這個唯一的ID 用戶可以容易地獲取這個交易策略,查看說明文檔,或者直接在創建 Operator 對象時使用這個交易策略。

獲取內置交易策略

查看所有的內置交易策略,或者根據ID篩選部分交易策略。使用下面的函數:

下面的函數接受相同的參數 stg_id,但是返回不同類型的數據,如果 stg_idNone,則返回所有的內置交易策略,否則返回指定ID的交易策略。 如果用戶輸入的 stg_id 不存在,qteasy 會根據用戶輸入的 stg_id 返回id與其最接近的交易策略。

下面的函數返回一個字典,字典的 key 是交易策略的ID,value 是交易策略的說明文檔。

qteasy.built_ins(stg_id: Optional[str] = None) dict[原始碼]

獲取或篩選內置的交易策略,可以通過stg_id進行模糊匹配,返回的是策略的字典

參數:

stg_id (str, optional) – 策略ID或者ID的片段,用於篩選需要的策略, 如果stg_id爲None,則返回所有內置策略的字典 支持模糊匹配,例如’cross’可以匹配到’crossline』

回傳:

strategies – 所有被篩選的內置策略的字典

回傳型別:

dict,

範例

>>> import qteasy as qt
>>> qt.built_in_list()
{
    'crossline': qteasy.built_in.CROSSLINE,
    'macd': qteasy.built_in.MACD,
    'dma': qteasy.built_in.DMA,
    'trix': qteasy.built_in.TRIX,
    ...
    'ndaychg': qteasy.built_in.SelectingNDayChange,
    'ndayvol': qteasy.built_in.SelectingNDayVolatility
}
>>> qt.built_in_list('cross')
{
    'crossline': qteasy.built_in.CROSSLINE,
}

下面的函數返回一個列表,列表的元素是交易策略的ID或者交易策略的名稱。

qteasy.built_in_list(stg_id: Optional[str] = None) list[原始碼]

獲取內置交易策略ID的列表,可以通過stg_id進行模糊匹配

參數:

stg_id (str, Optional) – 策略ID或者ID的片段,用於篩選需要的策略, 如果stg_id爲None,則返回所有內置策略的字典 支持模糊匹配,例如’cross’可以匹配到’crossline』

回傳:

stg_ids – 所有符合篩選條件的內置策略的ID列表

回傳型別:

list,

範例

>>> import qteasy as qt
>>> qt.built_in_list()
['crossline',
 'macd',
 'dma',
 'trix',
 ...
 'ndaychg',
 'ndayvol',]
>>> qt.built_in_list('cross')
['crossline']
qteasy.built_in_strategies(stg_id: Optional[str] = None) list[原始碼]

獲取內置交易策略對象的列表,可以通過stg_id進行模糊匹配

參數:

stg_id (str, Optional) – 策略ID或者ID的片段,用於篩選需要的策略, 如果stg_id爲None,則返回所有內置策略的字典 支持模糊匹配,例如’cross’可以匹配到’crossline』

回傳:

strategies – 所有被篩選的內置策略對象的列表

回傳型別:

list,

範例

>>> import qteasy as qt
>>> qt.built_in_strategies()
[
    qteasy.built_in.CROSSLINE,
    qteasy.built_in.MACD,
    qteasy.built_in.DMA,
    qteasy.built_in.TRIX,
    ...
    qteasy.built_in.SelectingNDayChange,
    qteasy.built_in.SelectingNDayVolatility
]
>>> qt.built_in_strategies('cross')
[
    qteasy.built_in.CROSSLINE,
]

也參考

built_in_list

如果要獲取一個內置交易策略對象,需要使用下面的函數,根據用戶輸入的ID返回內置策略對象, 如果用戶輸入ID有誤,函數會報錯並給用戶提供一個建議的ID:

qteasy.get_built_in_strategy(stg_id: str) BaseStrategy[原始碼]

使用ID獲取交易策略

參數:

stg_id (str) – 策略ID

回傳:

stg

回傳型別:

内置交易策略对象

引發:
  • TypeError – 如果id不是字符串類型:

  • ValueError – 如果id不是內置策略ID:

範例

>>> import qteasy as qt
>>> qt.get_built_in_strategy('macd')
RULE-ITER(MACD)

如果要查看內置交易策略的說明文檔,需要使用下面的函數,根據用戶輸入的ID返回內置策略對象, 如果用戶輸入ID有誤,函數會報錯並給用戶提供一個建議的ID:

qteasy.built_in_doc(stg_id: str, print_out: bool = False) Optional[str][原始碼]

獲取內置策略的文檔,stg_id必須正確給出且存在

參數:
  • stg_id (str) – 策略ID

  • print_out (bool, optional) – 是否直接列印文檔字符串,如果爲False,則僅返回文檔字符串

回傳:

doc_string – 返回策略的文檔字符串,特殊字符已經被過濾掉

回傳型別:

str,

範例

>>> import qteasy as qt
>>> qt.built_in_doc('macd', print_out=True)
MACD择时策略类,运用MACD均线策略,生成目标仓位百分比
--------------------
策略参数:
    s: int, 短周期指数平滑均线计算日期;
    l: int, 长周期指数平滑均线计算日期;
    m: int, MACD中间值DEA的计算周期;
信号类型:
    PT型: 目标仓位百分比
信号规则:
    计算MACD值:
    1,当MACD值大于0时,设置仓位目标为1
    2,当MACD值小于0时,设置仓位目标为0
策略属性缺省值:
默认参数: (12, 26, 9)
数据类型: close 收盘价,单数据输入
窗口长度: 270
参数范围: [(10, 250), (10, 250), (5, 250)]
策略不支持参考数据,不支持交易数据
>>> qt.built_in_doc('macde')
ValueError: No built-in strategy found for macde, maybe you mean macd?

7. 所有內置交易策略

下面是所有的內置交易策略的說明文檔,用戶可以根據自己的需求選擇合適的交易策略。

不依賴其他技術分析包的交易策略

以下是一些不依賴其他技術分析包的交易策略,這些交易策略都是基於歷史數據的簡單計算,不需要其他技術分析包的支持,可以直接調用。

簡單選股策略

根據歷史數據選股

qteasy.built_in.SelectingAvgIndicator(par_values=(True, 'even', 'greater', 0, 0, 0.25))[原始碼]
以股票過去一段時間內的財務指標的平均值作爲選股因子選股

基礎選股策略。以股票的歷史指標的平均值作爲選股因子,因子排序參數可以作爲策略參數傳入 改變策略數據類型,根據不同的歷史數據選股,選股參數可以通過pars傳入

策略參數:
  • sort_ascending: enum, 是否升序排列因子

    • True: 優先選擇因子最小的股票,

    • False, 優先選擇因子最大的股票

  • weighting: enum, 股票倉位分配比例權重

    • even :默認值, 所有被選中的股票都獲得同樣的權重

    • linear :權重根據因子排序線性分配

    • distance :股票的權重與他們的指標與最低之間的差值(距離)成比例

    • proportion :權重與股票的因子分值成正比

  • condition: enum, 股票篩選條件

    • any :默認值,選擇所有可用股票

    • greater :篩選出因子大於``ubound``的股票

    • less :篩選出因子小於``lbound``的股票

    • between :篩選出因子介於``lbound``與``ubound``之間的股票

    • not_between:篩選出因子不在``lbound``與``ubound``之間的股票

  • lbound: float, 股票篩選下限值, 默認值``np.-inf``

  • ubound: float, 股票篩選上限值, 默認值``np.inf``

  • max_sel_count: float, 抽取的股票的數量(p>=1)或比例(p<1), 默認值: 0.5,表示選中50%的股票

信號類型:

PT型: 百分比持倉比例信號

信號規則:

使用data_types指定一種數據類型,將股票過去的datatypes數據取平均值,將該平均值作爲選股因子進行選股

策略屬性缺省值:

默認參數: (True, 'even', 'greater', 0, 0, 0.25)

數據類型: eps 每股收益,單數據輸入

窗口長度: 270

參數範圍: [(True, False),

('even', 'linear', 'proportion'),

('any', 'greater', 'less', 'between', 'not_between'),

(-np.inf, np.inf),

(-np.inf, np.inf),

(0, 1.)]

策略不支持參考數據,不支持交易數據

qteasy.built_in.SelectingNDayLast(par_values=(2,))[原始碼]

以股票N天前的價格或數據指標作爲選股因子選股基礎選股策略,以股票的N日前歷史數據作爲選股因子,因子排序參數以策略屬性的形式控制

策略參數:

n: int, 股票歷史數據的前置期

信號類型:

PT型: 百分比持倉比例信號

信號規則:

在每個選股週期使用N日前的歷史數據作爲選股因子進行選股

通過以下策略屬性控制選股方法:

  • max_sel_count: float, 選股限額,表示最多選出的股票的數量,默認值: 0.5,表示選中50%的股票

  • condition: str , 確定股票的篩選條件,默認值``any``

    • any :默認值,選擇所有可用股票

    • greater :篩選出因子大於``ubound``的股票

    • less :篩選出因子小於``lbound``的股票

    • between :篩選出因子介於``lbound``與``ubound``之間的股票

    • not_between:篩選出因子不在``lbound``與``ubound``之間的股票

  • lbound: float, 執行條件篩選時的指標下界, 默認值``np.-inf``

  • ubound: float, 執行條件篩選時的指標上界, 默認值``np.inf``

  • sort_ascending: bool, 排序方法,默認值: False,

    • True: 優先選擇因子最小的股票,

    • False, 優先選擇因子最大的股票

  • weighting: str , 確定如何分配選中股票的權重,默認值: even

    • even :所有被選中的股票都獲得同樣的權重

    • linear :權重根據因子排序線性分配

    • distance :股票的權重與他們的指標與最低之間的差值(距離)成比例

    • proportion :權重與股票的因子分值成正比

策略屬性缺省值:

默認參數: (2,)

數據類型: close 收盤價,單數據輸入

窗口長度: 100

參數範圍: [(2, 100)]

策略不支持參考數據,不支持交易數據

qteasy.built_in.SelectingNDayAvg(par_values=(14,))[原始碼]

以股票過去N天的價格或數據指標的平均值作爲選股因子選股 基礎選股策略: 以股票的前N日曆史數據平均值作爲選股因子,因子排序參數以策略屬性的形式控制

策略參數:

n: int, 股票歷史數據的選擇期

信號類型:

PT型: 百分比持倉比例信號

信號規則:

在每個選股週期使用N日前的歷史數據作爲選股因子進行選股

通過以下策略屬性控制選股方法:

  • max_sel_count: float, 選股限額,表示最多選出的股票的數量,默認值: 0.5,表示選中50%的股票

  • condition: str , 確定股票的篩選條件,默認值``any``

    • any :默認值,選擇所有可用股票

    • greater :篩選出因子大於``ubound``的股票

    • less :篩選出因子小於``lbound``的股票

    • between :篩選出因子介於``lbound``與``ubound``之間的股票

    • not_between:篩選出因子不在``lbound``與``ubound``之間的股票

  • lbound: float, 執行條件篩選時的指標下界, 默認值``np.-inf``

  • ubound: float, 執行條件篩選時的指標上界, 默認值``np.inf``

  • sort_ascending: bool, 排序方法,默認值: False,

    • True: 優先選擇因子最小的股票,

    • False, 優先選擇因子最大的股票

  • weighting: str , 確定如何分配選中股票的權重,默認值: even

    • even :所有被選中的股票都獲得同樣的權重

    • linear :權重根據因子排序線性分配

    • distance :股票的權重與他們的指標與最低之間的差值(距離)成比例

    • proportion :權重與股票的因子分值成正比

策略屬性缺省值:

默認參數: (14,)

數據類型: close 收盤價,單數據輸入

窗口長度: 150

參數範圍: [(2, 150)]

策略不支持參考數據,不支持交易數據

qteasy.built_in.SelectingNDayChange(par_values=(14,))[原始碼]

以股票過去N天的價格或數據指標的變動值作爲選股因子選股 基礎選股策略: 根據股票以前n天的股價或數據變動幅度作爲選股因子進行選股

策略參數:

n: int, 股票歷史數據的選擇期

信號類型:

PT型: 百分比持倉比例信號

信號規則:

在每個選股週期使用過去N日內價格的變動值作爲選股因子進行選股

通過以下策略屬性控制選股方法:

  • max_sel_count: float, 選股限額,表示最多選出的股票的數量,默認值: 0.5,表示選中50%的股票

  • condition: str , 確定股票的篩選條件,默認值``any``

    • any :默認值,選擇所有可用股票

    • greater :篩選出因子大於``ubound``的股票

    • less :篩選出因子小於``lbound``的股票

    • between :篩選出因子介於``lbound``與``ubound``之間的股票

    • not_between:篩選出因子不在``lbound``與``ubound``之間的股票

  • lbound: float, 執行條件篩選時的指標下界, 默認值``np.-inf``

  • ubound: float, 執行條件篩選時的指標上界, 默認值``np.inf``

  • sort_ascending: bool, 排序方法,默認值: False,

    • True: 優先選擇因子最小的股票,

    • False, 優先選擇因子最大的股票

  • weighting: str , 確定如何分配選中股票的權重,默認值: even

    • even :所有被選中的股票都獲得同樣的權重

    • linear :權重根據因子排序線性分配

    • distance :股票的權重與他們的指標與最低之間的差值(距離)成比例

    • proportion :權重與股票的因子分值成正比

策略屬性缺省值:

默認參數: (14,)

數據類型: close 收盤價,單數據輸入

窗口長度: 150

參數範圍: [(2, 150)]

策略不支持參考數據,不支持交易數據

qteasy.built_in.SelectingNDayRateChange(par_values=(14,), **kwargs)[原始碼]

以股票過去N天的價格或數據指標的變動比例作爲選股因子選股 基礎選股策略: 根據股票以前n天的股價變動比例作爲選股因子

策略參數:

n: int, 股票歷史數據的選擇期

信號類型:

PT型: 百分比持倉比例信號

信號規則:

在每個選股週期使用過去N日內價格變動率作爲選股因子進行選股

通過以下策略屬性控制選股方法:

  • max_sel_count: float, 選股限額,表示最多選出的股票的數量,默認值: 0.5,表示選中50%的股票

  • condition: str , 確定股票的篩選條件,默認值``any``

    • any :默認值,選擇所有可用股票

    • greater :篩選出因子大於``ubound``的股票

    • less :篩選出因子小於``lbound``的股票

    • between :篩選出因子介於``lbound``與``ubound``之間的股票

    • not_between:篩選出因子不在``lbound``與``ubound``之間的股票

  • lbound: float, 執行條件篩選時的指標下界, 默認值``np.-inf``

  • ubound: float, 執行條件篩選時的指標上界, 默認值``np.inf``

  • sort_ascending: bool, 排序方法,默認值: False,

    • True: 優先選擇因子最小的股票,

    • False, 優先選擇因子最大的股票

  • weighting: str , 確定如何分配選中股票的權重,默認值: even

    • even :所有被選中的股票都獲得同樣的權重

    • linear :權重根據因子排序線性分配

    • distance :股票的權重與他們的指標與最低之間的差值(距離)成比例

    • proportion :權重與股票的因子分值成正比

策略屬性缺省值:

默認參數: (14,)

數據類型: close 收盤價,單數據輸入

窗口長度: 150

參數範圍: [(2, 150)]

策略不支持參考數據,不支持交易數據

qteasy.built_in.SelectingNDayVolatility(par_values=(14,))[原始碼]

根據股票以前N天的股價波動率作爲選股因子

策略參數:

n: int, 股票歷史數據的選擇期

信號類型:

PT型: 百分比持倉比例信號

信號規則:

在每個選股週期使用過去N日內的價格波動率作爲選股因子進行選股

通過以下策略屬性控制選股方法:

  • max_sel_count: float, 選股限額,表示最多選出的股票的數量,默認值: 0.5,表示選中50%的股票

  • condition: str , 確定股票的篩選條件,默認值``any``

    • any :默認值,選擇所有可用股票

    • greater :篩選出因子大於``ubound``的股票

    • less :篩選出因子小於``lbound``的股票

    • between :篩選出因子介於``lbound``與``ubound``之間的股票

    • not_between:篩選出因子不在``lbound``與``ubound``之間的股票

  • lbound: float, 執行條件篩選時的指標下界, 默認值``np.-inf``

  • ubound: float, 執行條件篩選時的指標上界, 默認值``np.inf``

  • sort_ascending: bool, 排序方法,默認值: False,

    • True: 優先選擇因子最小的股票,

    • False, 優先選擇因子最大的股票

  • weighting: str , 確定如何分配選中股票的權重,默認值: even

    • even :所有被選中的股票都獲得同樣的權重

    • linear :權重根據因子排序線性分配

    • distance :股票的權重與他們的指標與最低之間的差值(距離)成比例

    • proportion :權重與股票的因子分值成正比

策略屬性缺省值:

默認參數: (14,)

數據類型: high,low,close 最高價,最低價,收盤價,多數據輸入

窗口長度: 150

參數範圍: [(2, 150)]

策略不支持參考數據,不支持交易數據

qteasy.built_in.SignalNone()[原始碼]
空交易信號策略:

不生成任何交易信號的策略

策略參數:

none

信號類型:

PT型: 百分比持倉比例信號

PS型: 百分比買賣交易信號

VS型: 買賣交易信號

信號規則:

整個信號週期內不產生任何交易信號

策略屬性缺省值:

默認參數: ()

數據類型: close 收盤價,單數據輸入

窗口長度: 270

參數範圍: []

策略不支持參考數據,不支持交易數據

qteasy.built_in.SellRate(par_values=(20, 0.1))[原始碼]
變化率賣出信號策略:

當價格的變化率超過閾值時,產生賣出信號。 本策略不產生買入信號。

策略參數:

day, int, 漲跌幅計算週期

change, float,漲跌幅閾值

信號類型:

PS型: 百分比買賣交易信號

信號規則:

在下面情況下產生賣出信號:

1,當``change`` > 0,且``day``日漲幅大於``change``時,產生-1賣出信號

2,當``change`` < 0,且``day``日跌幅大於``change``時,產生-1賣出信號

策略屬性缺省值:

默認參數: (20, 0.1)

數據類型: close 收盤價,單數據輸入

窗口長度: 270

參數範圍: [(1, 100), (-0.5, 0.5)]

策略不支持參考數據,不支持交易數據

qteasy.built_in.BuyRate(par_values=(20, 0.1))[原始碼]
變化率買入信號策略:

當價格的變化率超過閾值時,產生買入信號。 本策略不產生賣出信號。

策略參數:

day, int, 漲跌幅計算週期

change, float,漲跌幅閾值

信號類型:

PS型: 百分比買賣交易信號

信號規則:

在下面情況下產生買入信號:

1,當change > 0,且day日漲幅大於change時,產生1買入信號

2,當change < 0,且day日跌幅大於change時,產生1買入信號

策略屬性缺省值:

默認參數: (20, 0.1)

數據類型: close 收盤價,單數據輸入

窗口長度: 270

參數範圍: [(1, 100), (-0.5, 0.5)]

策略不支持參考數據,不支持交易數據

qteasy.built_in.SelectingAll()[原始碼]

基礎選股策略: 保持歷史股票池中的所有股票都被選中,投資比例平均分配

策略參數:

none

信號類型:

PT型: 百分比持倉比例信號

信號規則:

整個信號週期內持倉比例恆定,且所有投資組合的持倉比例相同

策略屬性缺省值:

默認參數: ()

數據類型: close 收盤價,單數據輸入

窗口長度: 270

參數範圍: []

策略不支持參考數據,不支持交易數據

qteasy.built_in.SelectingNone()[原始碼]

基礎選股策略: 保持歷史股票池中的所有股票都不被選中,投資倉位爲0

策略參數:

none

信號類型:

PT型: 百分比持倉比例信號

信號規則:

整個信號週期內持倉比例恆定,且所有投資組合的持倉比例都爲0

策略屬性缺省值:

默認參數: ()

數據類型: close 收盤價,單數據輸入

窗口長度: 270

參數範圍: []

策略不支持參考數據,不支持交易數據

qteasy.built_in.SelectingRandom(par_values=(0.5,))[原始碼]
基礎選股策略: 在每個歷史分段中,按照指定的比例(p<1時)隨機抽取若干股票,

或隨機抽取指定數量(p>=1)的股票進入投資組合,投資比例平均分配

策略參數:

p: float, 抽取的股票的數量(p>=1)或比例(p<1)

信號類型:

PT型: 百分比持倉比例信號

信號規則:

當p>=1時,從所有股票池中隨機抽取p支股票,並設定所有被選中股票的持倉比例都爲1/p

當0>p>1時,從股票池中以p爲比例抽取若干股票,並設定所有股票的持倉比例都相同且和爲1

策略屬性缺省值:

默認參數: (0.5, )

數據類型: close 收盤價,單數據輸入

窗口長度: 100

參數範圍: [(0, np.inf)]

策略不支持參考數據,不支持交易數據

簡單擇時策略

qteasy.built_in.TimingLong()[原始碼]

簡單擇時策略,整個歷史週期上固定保持多頭全倉狀態

策略參數:

無策略參數

信號類型:

PT型: 百分比持倉比例信號

信號規則:

整個信號週期內持倉比例恆定爲100%滿倉

策略屬性缺省值:

默認參數: ()

數據類型: close 收盤價,單數據輸入

窗口長度: 270

參數範圍: []

策略不支持參考數據,不支持交易數據

qteasy.built_in.TimingShort()[原始碼]

簡單擇時策略,整個歷史週期上固定保持空頭全倉狀態

策略參數:

none

信號類型:

PT型: 百分比持倉比例信號

信號規則:

整個信號週期內持倉比例恆定爲-100%空頭全倉

策略屬性缺省值:

默認參數: ()

數據類型: close 收盤價,單數據輸入

窗口長度: 270

參數範圍: []

策略不支持參考數據,不支持交易數據

qteasy.built_in.TimingZero()[原始碼]

簡單擇時策略,整個歷史週期上固定保持空倉狀態

策略參數:

none

信號類型:

PT型: 百分比持倉比例信號

信號規則:

整個信號週期內持倉比例恆定爲0%空倉

策略屬性缺省值:

默認參數: ()

數據類型: close 收盤價,單數據輸入

窗口長度: 270

參數範圍: []

策略不支持參考數據,不支持交易數據

基於均線指標的擇時策略

下面的選股策略都基於股價均線指標來判定買入賣出

qteasy.built_in.DMA(par_values=(12, 26, 9), **kwargs)[原始碼]

DMA擇時策略

策略參數:

s, int, 短均線週期

l, int, 長均線週期

d, int, DMA周期

信號類型:

PS型: 百分比買賣交易信號

信號規則:

在下面情況下產生買入信號:

1, DMA在AMA上方時,多頭區間,即DMA線自下而上穿越AMA線後,輸出爲1

2, DMA在AMA下方時,空頭區間,即DMA線自上而下穿越AMA線後,輸出爲0 3, DMA與股價發生背離時的交叉信號,可信度較高

策略屬性缺省值:

默認參數: (12, 26, 9)

數據類型: close 收盤價,單數據輸入

窗口長度: 270

參數範圍: [(10, 250), (10, 250), (8, 250)]

策略不支持參考數據,不支持交易數據

qteasy.built_in.MACD(par_values=(12, 26, 9))[原始碼]

MACD擇時策略類,運用MACD均線策略,生成目標倉位百分比

策略參數:

s: int, 短週期指數平滑均線計算日期;

l: int, 長週期指數平滑均線計算日期;

m: int, MACD中間值DEA的計算週期;

信號類型:

PT型: 目標倉位百分比

信號規則:

計算``MACD``值: 1,當``MACD``值大於0時,設置倉位目標爲1

2,當``MACD``值小於0時,設置倉位目標爲0

策略屬性缺省值:

默認參數: (12, 26, 9)

數據類型: close 收盤價,單數據輸入

窗口長度: 270

參數範圍: [(10, 250), (10, 250), (5, 250)]

策略不支持參考數據,不支持交易數據

qteasy.built_in.TRIX(par_values=(12, 12), **kwargs)[原始碼]

TRIX擇時策略,使用股票價格的三重平滑指數移動平均價格進行多空判斷

策略參數:

s: int, 均線參數,單位爲日,用於計算週期爲S的三重平滑指數移動平均線TRIX

m: int, 平滑均線參數,用於計算TRIX的M日簡單移動平均線

信號類型:

PT型: 目標倉位百分比``

信號規則:

計算價格的三重平滑指數移動平均價TRIX,再計算M日TRIX的移動平均:

1, ``TRIX``位於``MATRIX``上方時,設置倉位目標爲1

2, ``TRIX``位於``MATRIX``下方時,設置倉位目標位-1

策略屬性缺省值:

默認參數: (12, 12)

數據類型: close 收盤價,單數據輸入

窗口長度: 270

參數範圍: [(2, 50), (3, 150)]

策略不支持參考數據,不支持交易數據

qteasy.built_in.CROSSLINE(par_values: tuple = (35, 120, 0.02))[原始碼]

crossline擇時策略類,利用長短均線的交叉確定多空狀態

策略參數:

s: int, 短均線計算日期

l: int, 長均線計算日期

m: float, 均線邊界寬度(百分比)

信號類型:

PT型: 目標倉位百分比

信號規則:

1, 當短均線位於長均線上方,且距離大於l*m%時,設置倉位目標爲1

2, 當短均線位於長均線下方,且距離大於l*m%時,設置倉位目標爲-1

3, 當長短均線之間的距離不大於l*m%時,設置倉位目標爲0

策略屬性缺省值:

默認參數: (35, 120, 0.02)

數據類型: close 收盤價,單數據輸入

窗口長度: 270

參數範圍: [(10, 250), (10, 250), (0, 1)]

策略不支持參考數據,不支持交易數據

qteasy.built_in.CDL()[原始碼]

CDL擇時策略,在K線圖中找到符合要求的cdldoji模式

策略參數:

信號類型:

PS型: 百分比交易信號

VS型: 交易數量信號

信號規則:

搜索歷史數據窗口內出現的cdl doji模式(匹配度0~100之間),加總後/100,計算

等效cdl doji匹配數量,以匹配數量爲交易信號。

策略屬性缺省值:

默認參數: ()

數據類型: open, high, low, close 開盤,最高,最低,收盤價

窗口長度: 100

參數範圍: None

策略不支持參考數據,不支持交易數據

qteasy.built_in.SoftBBand(par_values=(20, 2, 2, 0))[原始碼]

布林帶線漸進交易策略,根據股價與布林帶上軌和布林帶下軌之間的關係確定多空,

交易信號不是一次性產生的,而是逐步漸進買入和賣出。

策略參數:

p: int, 均線週期,用於計算布林帶線的均線週期

u: float,上軌偏移量,單位爲標準差的倍數,如2表示上偏移2倍標準差

d: float,下軌偏移量,單位爲標準差的倍數,如2表示下偏移2倍標準差

m: int,移動均線類型,取值範圍0~8,表示9種不同的均線類型:

信號類型:

PS型: 百分比例交易信號

信號規則:

計算BBAND,檢查價格是否超過BBAND的上軌或下軌:

1,當價格大於上軌後,每天產生10%的比例買入交易信號

2,當價格低於下軌後,每天產生33%的比例賣出交易信號

策略屬性缺省值:

默認參數: (20, 2, 2, 0)

數據類型: close 收盤價,單數據輸入

窗口長度: 200

參數範圍: [(2, 100), (0.5, 5), (0.5, 5), (0, 8)]

策略不支持參考數據,不支持交易數據

qteasy.built_in.BBand(par_values=(20, 2, 2))[原始碼]

布林帶線交易策略,根據股價與布林帶上軌和布林帶下軌之間的關係確定多空, 在價格上穿或下穿布林帶線上下軌時產生交易信號。 布林帶線的均線類型不可選

策略參數:

p: int, 均線週期,用於計算布林帶線的均線週期

u: float,上軌偏移量,單位爲標準差的倍數,如2表示上偏移2倍標準差

d: float,下軌偏移量,單位爲標準差的倍數,如2表示下偏移2倍標準差

信號類型:

PS型: 百分比例交易信號

信號規則:

計算``BBAND``,檢查價格是否超過``BBAND``的上軌或下軌:

1,當價格上穿上軌時,產生全倉買入信號

2,當價格下穿下軌時,產生全倉賣出信號``

策略屬性缺省值:

默認參數: (20, 2, 2)

數據類型: close 收盤價,單數據輸入

窗口長度: 270

參數範圍: [(2, 100), (0.5, 5), (0.5, 5)]

策略不支持參考數據,不支持交易數據

依賴 TA-Lib 技術分析包的交易策略

以下是一些依賴 TA-Lib 技術分析包的交易策略,這些交易策略都是基於 TA-Lib 技術分析包的計算,需要安裝 TA-Lib 技術分析包。

基於單均線穿越的擇時策略

下面的選股策略都基於股價是否上穿/下穿均線來判定買入賣出

qteasy.built_in.SCRSSMA(par_values=(14,))[原始碼]

單均線交叉策略——SMA均線(簡單移動平均線): 根據股價與SMA均線的相對位置設定持倉比例

策略參數:

rng: int, 均線的計算週期

信號類型:

PT型: 倉位百分比目標信號

信號規則:

檢查當前價格與均線的關係:

1,當價格高於均線時,設定持倉比例爲1

2,當價格低於均線時,設定持倉比例爲-1

策略屬性缺省值:

默認參數: (14,)

數據類型: close 收盤價,單數據輸入

窗口長度: 270

參數範圍: [(3, 250)]

策略不支持參考數據,不支持交易數據

qteasy.built_in.SCRSDEMA(par_values=(14,))[原始碼]

單均線交叉策略——DEMA均線(雙重指數平滑移動平均線): 根據股價與DEMA均線的相對位置設定持倉比例

策略參數:

rng: int, 均線的計算週期

信號類型:

PT型: 倉位百分比目標信號

信號規則:

檢查當前價格與均線的關係:

1,當價格高於均線時,設定持倉比例爲1

2,當價格低於均線時,設定持倉比例爲-1

策略屬性缺省值:

默認參數: (14,)

數據類型: close 收盤價,單數據輸入

窗口長度: 270

參數範圍: [(3, 250)]

策略不支持參考數據,不支持交易數據

qteasy.built_in.SCRSEMA(par_values=(14,))[原始碼]

單均線交叉策略——EMA均線(指數平滑移動均線): 根據股價與EMA均線的相對位置設定持倉比例

策略參數:

rng: int, 均線的計算週期

信號類型:

PT型: 倉位百分比目標信號

信號規則:

檢查當前價格與均線的關係:

1,當價格高於均線時,設定持倉比例爲1

2,當價格低於均線時,設定持倉比例爲-1

策略屬性缺省值:

默認參數: (14,)

數據類型: close 收盤價,單數據輸入

窗口長度: 270

參數範圍: [(3, 250)]

策略不支持參考數據,不支持交易數據

qteasy.built_in.SCRSHT(par_values=())[原始碼]

單均線交叉策略——HT(希爾伯特變換瞬時趨勢線): 根據股價與HT線的相對位置設定持倉比例

策略參數:

不需要參數

信號類型:

PT型: 倉位百分比目標信號

信號規則:

檢查當前價格與均線的關係:

1,當價格高於HT線時,設定持倉比例爲1

2,當價格低於HT線時,設定持倉比例爲-1

策略屬性缺省值:

默認參數: ()

數據類型: close 收盤價,單數據輸入

窗口長度: 270

參數範圍: []

策略不支持參考數據,不支持交易數據

qteasy.built_in.SCRSKAMA(par_values=(14,))[原始碼]

單均線交叉策略——KAMA均線(考夫曼自適應移動均線): 根據股價與KAMA均線的相對位置設定持倉比例

策略參數:

rng: int, 均線的計算週期

信號類型:

PT型: 倉位百分比目標信號

信號規則:

檢查當前價格與均線的關係:

1,當價格高於均線時,設定持倉比例爲1

2,當價格低於均線時,設定持倉比例爲-1

策略屬性缺省值:

默認參數: (14,)

數據類型: close 收盤價,單數據輸入

窗口長度: 270

參數範圍: [(3, 250)]

策略不支持參考數據,不支持交易數據

qteasy.built_in.SCRSMAMA(par_values=(0.5, 0.05))[原始碼]

單均線交叉策略——MAMA均線(MESA自適應移動平均線): 根據股價與MAMA均線的相對位置設定持倉比例

策略參數:

f: float between 0 and 1, 快速移動極限

``

s: float between 0 and 1, 慢速移動極限

信號類型:

PT型: 倉位百分比目標信號

信號規則:

檢查當前價格與均線的關係:

``

1,當價格高於均線時,設定持倉比例爲1

``

2,當價格低於均線時,設定持倉比例爲-1

策略屬性缺省值:

默認參數: (0.5, 0.05)

``

數據類型: close 收盤價,單數據輸入

``

窗口長度: 270

``

參數範圍: [(0.01, 0.99), (0.01, 0.99)]

策略不支持參考數據,不支持交易數據

qteasy.built_in.SCRST3(par_values=(12, 0.5))[原始碼]

單均線交叉策略——T3均線(三重指數平滑移動平均線): 根據股價與T3均線的相對位置設定持倉比例

策略參數:

p: int 均線計算週期

v: float v因子,調整因子,取值範圍0~1之間

信號類型:

PT型: 倉位百分比目標信號

信號規則:

檢查當前價格與均線的關係:

1,當價格高於均線時,設定持倉比例爲1

2,當價格低於均線時,設定持倉比例爲-1

策略屬性缺省值:

默認參數: (12, 0.5)

數據類型: close 收盤價,單數據輸入

窗口長度: 270

參數範圍: [(2, 20), (0, 1)]

策略不支持參考數據,不支持交易數據

qteasy.built_in.SCRSTEMA(par_values=(6,))[原始碼]

單均線交叉策略——TEMA均線(三重指數平滑移動平均線): 根據股價與TEMA均線的相對位置設定持倉比例

策略參數:

p: int 均線計算週期

信號類型:

PT型: 倉位百分比目標信號

信號規則:

檢查當前價格與均線的關係:

1,當價格高於均線時,設定持倉比例爲1

2,當價格低於均線時,設定持倉比例爲-1

策略屬性缺省值:

默認參數: (6,)

數據類型: close 收盤價,單數據輸入

窗口長度: 270

參數範圍: [(2, 20)]

策略不支持參考數據,不支持交易數據

qteasy.built_in.SCRSTRIMA(par_values=(14,))[原始碼]

單均線交叉策略——TRIMA均線(三重指數平滑移動平均線): 根據股價與TRIMA均線的相對位置設定持倉比例

策略參數:

p: int 均線計算週期

信號類型:

PT型: 倉位百分比目標信號

信號規則:

檢查當前價格與均線的關係:

1,當價格高於均線時,設定持倉比例爲1

2,當價格低於均線時,設定持倉比例爲-1

策略屬性缺省值:

默認參數: (14,)

數據類型: close 收盤價,單數據輸入

窗口長度: 270

參數範圍: [(3, 200)]

策略不支持參考數據,不支持交易數據

qteasy.built_in.SCRSWMA(par_values=(14,))[原始碼]

單均線交叉策略——WMA均線(加權移動平均線): 根據股價與WMA均線的相對位置設定持倉比例

策略參數:

p: int 均線計算週期

信號類型:

PT型: 倉位百分比目標信號

信號規則:

檢查當前價格與均線的關係:

1,當價格高於均線時,設定持倉比例爲1

2,當價格低於均線時,設定持倉比例爲-1

策略屬性缺省值:

默認參數: (14,)

數據類型: close 收盤價,單數據輸入

窗口長度: 270

參數範圍: [(3, 200)]

策略不支持參考數據,不支持交易數據

基於雙均線穿越的擇時策略

下面的選股策略都基於兩根(一快一慢)均線是否交叉來判定買入賣出

qteasy.built_in.DCRSSMA(par_values=(125, 25))[原始碼]

雙均線交叉策略——SMA均線(簡單移動平均線): 基於SMA均線計算規則生成快慢兩根均線,根據快與慢兩根均線的相對位置設定持倉比例

策略參數:

l: int, 長週期,慢速均線的計算週期

s: int, 短週期,快速均線的計算週期

信號類型:

PT型: 倉位百分比目標信號

信號規則:

用長短兩個週期分別計算慢快兩根均線:

1,當快均線高於慢均線時,設定持倉比例爲1

2,當慢均線高於快均線時,設定持倉比例爲-1

策略屬性缺省值:

默認參數: (125, 25)

數據類型: close 收盤價,單數據輸入

窗口長度: 270

參數範圍: [(3, 250), (3, 250)]

策略不支持參考數據,不支持交易數據

qteasy.built_in.DCRSDEMA(par_values=(125, 25))[原始碼]

雙均線交叉策略——DEMA均線(簡單移動平均線): 基於DEMA均線計算規則生成快慢兩根均線,根據快與慢兩根均線的相對位置設定持倉比例

策略參數:

l: int, 長週期,慢速均線的計算週期

s: int, 短週期,快速均線的計算週期

信號類型:

PT型: 倉位百分比目標信號

信號規則:

用長短兩個週期分別計算慢快兩根均線:

1,當快均線高於慢均線時,設定持倉比例爲1

2,當慢均線高於快均線時,設定持倉比例爲-1

策略屬性缺省值:

默認參數: (125, 25)

數據類型: close 收盤價,單數據輸入

窗口長度: 270

參數範圍: [(3, 250), (3, 250)]

策略不支持參考數據,不支持交易數據

qteasy.built_in.DCRSEMA(par_values=(20, 5))[原始碼]

雙均線交叉策略——EMA均線(指數平滑移動平均線): 基於EMA均線計算規則生成快慢兩根均線,根據快與慢兩根均線的相對位置設定持倉比例

策略參數:

l: int, 長週期,慢速均線的計算週期

s: int, 短週期,快速均線的計算週期

信號類型:

PT型: 倉位百分比目標信號

信號規則:

用長短兩個週期分別計算慢快兩根均線:

1,當快均線高於慢均線時,設定持倉比例爲1

2,當慢均線高於快均線時,設定持倉比例爲-1

策略屬性缺省值:

默認參數: (125, 25)

數據類型: close 收盤價,單數據輸入

窗口長度: 270

參數範圍: [(3, 250), (3, 250)]

策略不支持參考數據,不支持交易數據

qteasy.built_in.DCRSKAMA(par_values=(125, 25))[原始碼]

雙均線交叉策略——KAMA均線(考夫曼自適應移動平均線): 基於KAMA均線計算規則生成快慢兩根均線,根據快與慢兩根均線的相對位置設定持倉比例

策略參數:

l: int, 長週期,慢速均線的計算週期

s: int, 短週期,快速均線的計算週期

信號類型:

PT型: 倉位百分比目標信號

信號規則:

用長短兩個週期分別計算慢快兩根均線:

1,當快均線高於慢均線時,設定持倉比例爲1

2,當慢均線高於快均線時,設定持倉比例爲-1

策略屬性缺省值: 默認參數: (125, 25)

數據類型: close 收盤價,單數據輸入

窗口長度: 270

參數範圍: [(3, 250), (3, 250)] 策略不支持參考數據,不支持交易數據

qteasy.built_in.DCRSMAMA(par_values=(0.15, 0.05, 0.55, 0.25))[原始碼]

雙均線交叉策略——MAMA均線(MESA自適應移動平均線): 基於MAMA均線計算規則生成快慢兩根均線,根據快與慢兩根均線的相對位置設定持倉比例

策略參數:

lf: float, 長週期快速移動極限,慢速均線的KAMA計算參數

ls: float, 長週期慢速移動極限,慢速均線的KAMA計算參數

sf: float, 短週期快速移動極限,快速均線的KAMA計算參數

ss: float, 短週期慢速移動極限,快速均線的KAMA計算參數

信號類型:

PT型: 倉位百分比目標信號

信號規則:

用長短兩個週期分別計算慢快兩根均線:

1,當快均線高於慢均線時,設定持倉比例爲1

2,當慢均線高於快均線時,設定持倉比例爲-1

策略屬性缺省值:

默認參數: (0.15, 0.05, 0.55, 0.25)

數據類型: close 收盤價,單數據輸入

窗口長度: 270

參數範圍: [(0.01, 0.99), (0.01, 0.99), (0.01, 0.99), (0.01, 0.99)]

策略不支持參考數據,不支持交易數據

qteasy.built_in.DCRST3(par_values=(20, 0.5, 5, 0.5))[原始碼]

雙均線交叉策略——T3均線(三重指數平滑移動平均線): 基於T3均線計算規則生成快慢兩根均線,根據快與慢兩根均線的相對位置設定持倉比例

策略參數:

lp: int 長週期參數,用於計算慢均線

lv: float 長週期v因子,調整因子,取值範圍0~1之間,用於計算慢均線

sp: int 短週期參數,用於計算快均線

sv: float 短週期v因子,調整因子,取值範圍0~1之間,用於計算快均線

信號類型:

PT型: 倉位百分比目標信號

信號規則:

用長短兩個週期分別計算慢快兩根均線:

1,當快均線高於慢均線時,設定持倉比例爲1

2,當慢均線高於快均線時,設定持倉比例爲-1

策略屬性缺省值:

默認參數: (20, 0.5, 5, 0.5)

數據類型: close 收盤價,單數據輸入

窗口長度: 270

參數範圍: [(2, 20), (0, 1), (2, 20), (0, 1)]

策略不支持參考數據,不支持交易數據

qteasy.built_in.DCRSTEMA(par_values=(11, 6))[原始碼]

雙均線交叉策略——TEMA均線(三重指數平滑移動平均線): 基於TEMA均線計算規則生成快慢兩根均線,根據快與慢兩根均線的相對位置設定持倉比例

策略參數:

lp: int 長週期參數,用於計算慢均線

sp: int 短週期參數,用於計算快均線

信號類型:

PT型: 倉位百分比目標信號

信號規則:

用長短兩個週期分別計算慢快兩根均線:

1,當快均線高於慢均線時,設定持倉比例爲1

2,當慢均線高於快均線時,設定持倉比例爲-1

策略屬性缺省值:

默認參數: (11, 6)

數據類型: close 收盤價,單數據輸入

窗口長度: 270

參數範圍: [(2, 20), (2, 20)]

策略不支持參考數據,不支持交易數據

qteasy.built_in.DCRSTRIMA(par_values=(125, 25))[原始碼]
雙均線交叉策略——TRIMA均線(三重指數平滑移動平均線):

基於TRIMA均線計算規則生成快慢兩根均線,根據快與慢兩根均線的相對位置設定持倉比例

策略參數:

lp: int 長週期參數,用於計算慢均線

sp: int 短週期參數,用於計算快均線

信號類型:

PT型: 倉位百分比目標信號

信號規則:

用長短兩個週期分別計算慢快兩根均線:

1,當快均線高於慢均線時,設定持倉比例爲1

2,當慢均線高於快均線時,設定持倉比例爲-1

策略屬性缺省值:

默認參數: (125, 25)

數據類型: close 收盤價,單數據輸入

窗口長度: 270

參數範圍: [(3, 200), (3, 200)]

策略不支持參考數據,不支持交易數據

qteasy.built_in.DCRSWMA(par_values=(125, 25))[原始碼]
雙均線交叉策略——WMA均線(加權移動平均線):

基於WMA均線計算規則生成快慢兩根均線,根據快與慢兩根均線的相對位置設定持倉比例

策略參數:

lp: int 長週期參數,用於計算慢均線

sp: int 短週期參數,用於計算快均線

信號類型:

PT型: 倉位百分比目標信號

信號規則:

用長短兩個週期分別計算慢快兩根均線:

1,當快均線高於慢均線時,設定持倉比例爲1

2,當慢均線高於快均線時,設定持倉比例爲-1

策略屬性缺省值:

默認參數: (125, 25)

數據類型: close 收盤價,單數據輸入

窗口長度: 270

參數範圍: [(3, 200), (3, 200)]

策略不支持參考數據,不支持交易數據

基於均線斜率的擇時策略

下面的選股策略都基於均線的斜率來判定買入賣出

qteasy.built_in.SLPSMA(par_values=(35, 5))[原始碼]

均線斜率交易策略——SMA均線(簡單移動平均線): 基於SMA計算規則生成移動均線,根據均線的斜率設定持倉比例目標 (當均線斜率爲正時,表示價格趨勢向上,提高持倉比例,當均線斜率爲負時,表示趨勢 向下,設定持倉比例爲負一或零)

策略參數:

f: int, 均線的計算週期

N: int, 估算斜率使用的數據點數量

信號類型:

PT型: 倉位百分比目標信號

信號規則:

按照規則計算價格的移動均線,並且計算均線的當前斜率``slope``

``slope``使用最近的N個移動均線數據點通過線性迴歸得到:

1,當``slope``斜率大於零時,判斷趨勢向上,設定持倉比例爲1

2,當``slope``斜率小於零時,判斷趨勢向下,設定持倉比例爲-1

策略屬性缺省值:

默認參數: (35, 5)

數據類型: close 收盤價,單數據輸入

窗口長度: 270

參數範圍: [(3, 250), (2, 20)]

策略不支持參考數據,不支持交易數據

qteasy.built_in.SLPDEMA(par_values=(35, 5))[原始碼]

均線斜率交易策略——DEMA均線(雙重指數平滑移動平均線): 基於DEMA計算規則生成移動均線,根據均線的斜率設定持倉比例目標 (當均線斜率爲正時,表示價格趨勢向上,提高持倉比例,當均線斜率爲負時,表示趨勢 向下,設定持倉比例爲負一或零)

策略參數:

f: int, 均線的計算週期

N: int, 估算斜率使用的數據點數量

信號類型:

PT型: 倉位百分比目標信號

信號規則:

按照規則計算價格的移動均線,並且計算均線的當前斜率``slope``

``slope``使用最近的N個移動均線數據點通過線性迴歸得到:

1,當``slope``斜率大於零時,判斷趨勢向上,設定持倉比例爲1

2,當``slope``斜率小於零時,判斷趨勢向下,設定持倉比例爲-1

策略屬性缺省值:

默認參數: (35, 5)

數據類型: close 收盤價,單數據輸入

窗口長度: 270

參數範圍: [(3, 250), (2, 20)]

策略不支持參考數據,不支持交易數據

qteasy.built_in.SLPEMA(par_values=(35, 5))[原始碼]

均線斜率交易策略——EMA均線(指數平滑移動平均線): 基於EMA計算規則生成移動均線,根據均線的斜率設定持倉比例目標 (當均線斜率爲正時,表示價格趨勢向上,提高持倉比例,當均線斜率爲負時,表示趨勢 向下,設定持倉比例爲負一或零)

策略參數:

f: int, 均線的計算週期

N: int, 估算斜率使用的數據點數量

信號類型:

PT型: 倉位百分比目標信號

信號規則:

按照規則計算價格的移動均線,並且計算均線的當前斜率``slope``

``slope``使用最近的N個移動均線數據點通過線性迴歸得到:

1,當``slope``斜率大於零時,判斷趨勢向上,設定持倉比例爲1

2,當``slope``斜率小於零時,判斷趨勢向下,設定持倉比例爲-1``

策略屬性缺省值:

默認參數: (35, 5)

數據類型: close 收盤價,單數據輸入

窗口長度: 270

參數範圍: [(3, 250), (2, 20)]

策略不支持參考數據,不支持交易數據

qteasy.built_in.SLPHT(par_values=(5,))[原始碼]

均線斜率交易策略——HT均線(希爾伯特變換——瞬時趨勢線線): 基於HT計算規則生成移動均線,根據均線的斜率設定持倉比例目標 (當均線斜率爲正時,表示價格趨勢向上,提高持倉比例,當均線斜率爲負時,表示趨勢 向下,設定持倉比例爲負一或零)

策略參數:

N: int, 估算斜率使用的數據點數量

信號類型:

PT型: 倉位百分比目標信號

信號規則:

按照規則計算價格的移動均線,並且計算均線的當前斜率``slope``

``slope``使用最近的N個移動均線數據點通過線性迴歸得到:

1,當``slope``斜率大於零時,判斷趨勢向上,設定持倉比例爲1

2,當``slope``斜率小於零時,判斷趨勢向下,設定持倉比例爲-1

策略屬性缺省值:

默認參數: (5,)

數據類型: close 收盤價,單數據輸入

窗口長度: 270

參數範圍: [(2, 20)]

策略不支持參考數據,不支持交易數據

qteasy.built_in.SLPKAMA(par_values=(35, 5))[原始碼]

均線斜率交易策略——KAMA均線(考夫曼自適應移動平均線): 基於KAMA計算規則生成移動均線,根據均線的斜率設定持倉比例目標 (當均線斜率爲正時,表示價格趨勢向上,提高持倉比例,當均線斜率爲負時,表示趨勢 向下,設定持倉比例爲負一或零)

策略參數:

f: int, 均線的計算週期

N: int, 估算斜率使用的數據點數量

信號類型:

PT型: 倉位百分比目標信號

信號規則:

按照規則計算價格的移動均線,並且計算均線的當前斜率``slope``

``slope``使用最近的N個移動均線數據點通過線性迴歸得到:

1,當``slope``斜率大於零時,判斷趨勢向上,設定持倉比``例爲1

2,當``slope``斜率小於零時,判斷趨勢向下,設定持倉比例爲-1

策略屬性缺省值:

默認參數: (35, 5)

數據類型: close 收盤價,單數據輸入

窗口長度: 270

參數範圍: [(3, 250), (2, 20)]

策略不支持參考數據,不支持交易數據

qteasy.built_in.SLPMAMA(par_values=(0.5, 0.05, 5))[原始碼]

均線斜率交易策略——MAMA均線(MESA自適應移動平均線): 基於MAMA計算規則生成移動均線,根據均線的斜率設定持倉比例目標 (當均線斜率爲正時,表示價格趨勢向上,提高持倉比例,當均線斜率爲負時,表示趨勢 向下,設定持倉比例爲負一或零)

策略參數:

f: float, 高速移動極限值

s: float, 低速移動極限值

N: int, 估算斜率使用的數據點數量

信號類型:

PT型: 倉位百分比目標信號

信號規則:

按照規則計算價格的移動均線,並且計算均線的當前斜率``slope``

``slope``使用最近的N個移動均線數據點通過線性迴歸得到:

1,當``slope``斜率大於零時,判斷趨勢向上,設定持倉比例爲1

2,當``slope``斜率小於零時,判斷趨勢向下,設定持倉比例爲-1

策略屬性缺省值:

默認參數: (0.5, 0.05, 5)

數據類型: close 收盤價,單數據輸入

窗口長度: 270

參數範圍: [(0.01, 0.99), (0.01, 0.99), (2, 20)]

策略不支持參考數據,不支持交易數據

qteasy.built_in.SLPT3(par_values=(12, 0.25, 5))[原始碼]
均線斜率交易策略——T3均線(三重指數平滑移動平均線):

基於T3計算規則生成移動均線,根據均線的斜率設定持倉比例目標 (當均線斜率爲正時,表示價格趨勢向上,提高持倉比例,當均線斜率爲負時,表示趨勢 向下,設定持倉比例爲負一或零)

策略參數:

p: int 均線計算週期

v: float v因子,調整因子,取值範圍0~1之間

N: int, 估算斜率使用的數據點數量

信號類型:

PT型: 倉位百分比目標信號

信號規則:

按照規則計算價格的移動均線,並且計算均線的當前斜率``slope``

``slope``使用最近的N個移動均線數據點通過線性迴歸得到:

1,當``slope``斜率大於零時,判斷趨勢向上,設定持倉比例爲1

2,當``slope``斜率小於零時,判斷趨勢向下,設定持倉比例爲-1

策略屬性缺省值:

默認參數: (12, 0.25, 5)

數據類型: close 收盤價,單數據輸入

窗口長度: 270

參數範圍: [(2, 20), (0, 1), (2, 20)]

策略不支持參考數據,不支持交易數據

qteasy.built_in.SLPTEMA(par_values=(6, 5))[原始碼]

均線斜率交易策略——TEMA均線(三重指數平滑移動平均線): 基於TEMA計算規則生成移動均線,根據均線的斜率設定持倉比例目標 (當均線斜率爲正時,表示價格趨勢向上,提高持倉比例,當均線斜率爲負時,表示趨勢 向下,設定持倉比例爲負一或零)

策略參數:

p: int 均線計算週期

N: int, 估算斜率使用的數據點數量

信號類型:

PT型: 倉位百分比目標信號

信號規則:

按照規則計算價格的移動均線,並且計算均線的當前斜率``slope``

``slope``使用最近的N個移動均線數據點通過線性迴歸得到:

1,當``slope``斜率大於零時,判斷趨勢向上,設定持倉比例爲1

2,當``slope``斜率小於零時,判斷趨勢向下,設定持倉比例爲-1

策略屬性缺省值:

默認參數: (6, 5)

數據類型: close 收盤價,單數據輸入

窗口長度: 270

參數範圍: [(2, 20), (2, 20)]

策略不支持參考數據,不支持交易數據

qteasy.built_in.SLPTRIMA(par_values=(35, 5))[原始碼]

均線斜率交易策略——TRIMA均線(三重指數平滑移動平均線): 基於TRIMA計算規則生成移動均線,根據均線的斜率設定持倉比例目標 (當均線斜率爲正時,表示價格趨勢向上,提高持倉比例,當均線斜率爲負時,表示趨勢 向下,設定持倉比例爲負一或零)

策略參數:

f: int 均線計算週期

N: int, 估算斜率使用的數據點數量

信號類型:

PT型: 倉位百分比目標信號

信號規則:

按照規則計算價格的移動均線,並且計算均線的當前斜率``slope``

``slope``使用最近的N個移動均線數據點通過線性迴歸得到:

1,當``slope``斜率大於零時,判斷趨勢向上,設定持倉比例爲1

2,當``slope``斜率小於零時,判斷趨勢向下,設定持倉比例爲-1

策略屬性缺省值:

默認參數: (35, 5)

數據類型: close 收盤價,單數據輸入

窗口長度: 270

參數範圍: [(3, 200), (2, 20)]

策略不支持參考數據,不支持交易數據

qteasy.built_in.SLPWMA(par_values=(125, 5))[原始碼]

均線斜率交易策略——WMA均線(加權移動平均線):

基於WMA計算規則生成移動均線,根據均線的斜率設定持倉比例目標 (當均線斜率爲正時,表示價格趨勢向上,提高持倉比例,當均線斜率爲負時,表示趨勢 向下,設定持倉比例爲負一或零)

策略參數:

f: int, 均線計算週期

N: int, 估算斜率使用的數據點數量

信號類型:

PT型: 倉位百分比目標信號

信號規則:

按照規則計算價格的移動均線,並且計算均線的當前斜率``slope``

``slope``使用最近的N個移動均線數據點通過線性迴歸得到:

1,當``slope``斜率大於零時,判斷趨勢向上,設定持倉比例爲1

2,當``slope``斜率小於零時,判斷趨勢向下,設定持倉比例爲-1

策略屬性缺省值:

默認參數: (125, 5)

數據類型: close 收盤價,單數據輸入

窗口長度: 270

參數範圍: [(3, 200), (2, 20)]

策略不支持參考數據,不支持交易數據

qteasy.built_in.SAREXT(par_values=(0, 3))[原始碼]

擴展拋物線SAR策略,當指標大於0時發出買入信號,當指標小於0時發出賣出信號

策略參數:

a: int, Parabolic SAR參數: 加速度

m: float, maximum最大值

信號類型:

PT型: 倉位百分比目標信號

信號規則:

计算``Parabolic SAR``:

1,當``Parabolic SAR``大於0時,輸出多頭

2,當``Parabolic SAR``小於0時,輸出空頭

策略屬性缺省值:

默認參數: (0, 3)

數據類型: high, ``low``最高價和最低價,多數據輸入

窗口長度: 200 參數範圍: [(-100, 100), (0, 5)]

策略不支持參考數據,不支持交易數據

基於動量技術指標的擇時策略

下面的選股策略都基於均線的斜率來判定買入賣出

qteasy.built_in.ADX(par_values=(14,))[原始碼]

ADX指標(平均定向運動指數)選股策略: 基於ADX指標判斷當前趨勢的強度,從而根據趨勢強度產生交易信號

策略參數:

p: int, ADX計算時間週期,取值範圍2~35

信號類型:

PT型: 倉位百分比目標信號

信號規則:

按照規則計算``ADX``趨勢強度:

1, 當``ADX>25``時,判斷趨勢向上,設定持倉比例爲1

2, 當``20<ADX<25``之間時,判斷爲中性趨勢,設定持倉比例爲0

3, 當``ADX>20``時,判斷趨勢向下,設定持倉比例爲-1

策略屬性缺省值:

默認參數: (14,)

數據類型: high, low, close 最高價,最低價,收盤價,多數據輸入

窗口長度: 270

參數範圍: [(2, 35)]

策略不支持參考數據,不支持交易數據

qteasy.built_in.APO(par_values=(12, 26, 0))[原始碼]

APO指標(絕對價格震盪指標)選股策略:

APO指標通過兩條均線的相對關係生成, 基於APO指標判斷當前股價變動的牛熊趨勢,從而根據趨勢產生交易信號

策略參數:

f: int, 快速均線週期

s: int, 慢速均線週期

m: int, 移動均線類型,取值範圍0~8

信號類型:

PT型: 倉位百分比目標信號

信號規則:

按照規則計算APO趨勢:

1, 當``APO``大於0時,判斷爲牛市趨勢,設定持倉比例爲1

2, 當``ADX``小於0時,判斷爲熊市趨勢,設定持倉比例爲-1

策略屬性缺省值:

默認參數: (12, 26, 0)

數據類型: close 收盤價,單數據輸入

窗口長度: 200

參數範圍: [(10, 100), (10, 100), (0, 8)]

策略不支持參考數據,不支持交易數據

qteasy.built_in.AROON(par_values=(14,))[原始碼]

AROON指標選股策略:

AROON指標被用於判斷當前股價處於趨勢區間還是僵持區間,通過計算AROON指標 策略可以根據趨勢的強弱程度輸出強多/空頭和弱多/空頭

策略參數:

p: int, 趨勢判斷週期

信號類型:

PT型: 倉位百分比目標信號

信號規則:

按照規則計算``AROON`` ``UP / DOWN``兩條趨勢線,並生成持倉比例信號:

1, 當UP在DOWN的上方時,輸出弱多頭

2, 當UP位於DOWN下方時,輸出弱空頭

3, 當UP大於70且DOWN小於30時,輸出強多頭

4, 當UP小於30且DOWN大於70時,輸出強空頭

策略屬性缺省值:

默認參數: (14,)

數據類型: high, low 最高價,最低價,多數據輸入

窗口長度: 200

參數範圍: [(2, 100)]

策略不支持參考數據,不支持交易數據

qteasy.built_in.CMO(par_values=(14,))[原始碼]

CMO (Chande Momentum Oscillator 錢德動量振盪器) 選股策略:

CMO 是一個在-100到100之間波動的動量指標,它被用來判斷當前股價位於 超賣還是超買區間,本策略使用這個指標生成投資倉位目標

策略參數:

p: int, 動量計算週期

信號類型:

PT型: 倉位百分比目標信號

信號規則:

按照規則計算``CMO``,並生成持倉比例信號:

1, 當``CMO``大於0時,輸出弱多頭

2, 當``CMO``小於0時,輸出弱空頭

3, 當``CMO``大於50時,輸出強多頭

4, 當``CMO``小於-50時,輸出強空頭

策略屬性缺省值:

默認參數: (14,)

數據類型: high, low, close 最高價,最低,收盤價,多數據輸入

窗口長度: 200

參數範圍: [(2, 100)]

策略不支持參考數據,不支持交易數據

qteasy.built_in.MACDEXT(par_values=(12, 0, 26, 0, 9, 0))[原始碼]

MACDEXT (Extendec MACD 擴展MACD指數) 選股策略:

本策略使用MACD指標生成持倉目標,但是與標準的MACD不同,MACDEXT的快、慢、及信號均線的類型均可選

策略參數:

fp: int, 快速均線計算週期

``

ft: int, 快速均線類型,取值範圍0~8

sp: int, 慢速均線計算週期

st: int, 慢速均線類型,取值範圍0~8

s: int, MACD信號線計算週期

t: int, MACD信號線類型,取值範圍0~8

信號類型:

PT型: 倉位百分比目標信號

信號規則:

按照規則計算``MACD``,根據MACD的H線生成持倉比例信號:

1, 當``hist>0``時輸出多頭

2, 當``hist<0``時輸出空頭

策略屬性缺省值:

默認參數: (12, 0, 26, 0, 9, 0)

數據類型: close 收盤價,單數據輸入

窗口長度: 200

參數範圍: [(2, 35), (0, 8), (2, 35), (0, 8), (2, 35), (0, 8)]

策略不支持參考數據,不支持交易數據

qteasy.built_in.MFI(par_values=(14,))[原始碼]

MFI (Money Flow Index 貨幣流向指數) 交易策略: MFI指數用於判斷股價屬於超買還是超賣狀態,本策略使用MFI指標生成交易信號

策略參數:

p: int, MFI信號計算週期

信號類型:

PS型: 百分比買賣交易信號

信號規則:

按照規則計算``MFI``,根據MFI的值生成比例交易信號:

1, 當``MFI>20``時,持續不斷產生10%買入交易信號

2, 當``MFI>80``時,持續不斷產生30%賣出交易信號,持續賣出持倉股票

策略屬性缺省值:

默認參數: (14,)

數據類型: high, low, close, volume 最高價,最低,收盤,交易量,多數據輸入

窗口長度: 200

參數範圍: [(2, 100)]

策略不支持參考數據,不支持交易數據

qteasy.built_in.DI(par_values=(14, 14))[原始碼]

DI (Directory Indicator 方向指標) 交易策略:

DI 指標包含負方向指標與正方向指標,它們分別表示價格上行和下行的趨勢強度,本策略使用±DI指標生成交易信號

策略參數:

n: int, 負DI信號計算週期

p: int, 正DI信號計算週期

信號類型:

PT型: 百分比持倉目標信號

信號規則:

按照規則計算正負DI,根據DI的值生成持倉目標信號:

1, 當``+DI > -DI``時,設置持倉目標爲1

2, 當``+DI < -DI``時,設置持倉目標爲-1

策略屬性缺省值:

默認參數: (14, 14)

數據類型: high, low, close 最高價,最低,收盤,多數據輸入

窗口長度: 200

參數範圍: [(1, 100), (1, 100)]

策略不支持參考數據,不支持交易數據

qteasy.built_in.DM(par_values=(14, 14))[原始碼]

DM (Directional Movement 方向運動指標) 交易策略:

DM 指標包含負方向運動指標(Negative Directional Movement)與正方向運動指標(Positive Directional Movement), 它們分別表示價格上行和下行的趨勢,本策略使用±DM指標生成交易信號

策略參數:

n: int, 負DM信號計算週期

p: int, 正DM信號計算週期

信號類型:

PT型: 百分比持倉目標信號

信號規則:

按照規則計算正負DM,根據DM的值生成持倉目標信號:

1, 當``+DM > -D``M時,設置持倉目標爲1

2, 當``+DM < -D``M時,設置持倉目標爲-1

3, 其餘情況設置持倉目標爲0

策略屬性缺省值:

默認參數: (14, 14)

數據類型: high, low 最高價,最低,多數據輸入

窗口長度: 200

參數範圍: [(1, 100), (1, 100)]

策略不支持參考數據,不支持交易數據

qteasy.built_in.MOM(par_values=(14,))[原始碼]

MOM (momentum indicator 動量指標) 交易策略: MOM 指標可以用於識別價格的上行或下行趨勢的強度,當前價格高於N日前價格時,MOM爲正,反之爲負。

策略參數:

n: int, MOM信號計算週期

信號類型:

PT型: 百分比持倉目標信號

信號規則:

按照規則計算``MOM``,根據``MOM``的值生成持倉目標信號:

1, 當``MOM > 0``時,設置持倉目標爲1

2, 當``MOM < 0``時,設置持倉目標爲-1

3, 其餘情況設置持倉目標爲0

策略屬性缺省值:``

默認參數: (14, )

數據類型: close 收盤價,單數據輸入

窗口長度: 100

參數範圍: [(1, 100)]

策略不支持參考數據,不支持交易數據

qteasy.built_in.PPO(par_values=(12, 26, 0))[原始碼]

PPO (Percentage Price Oscillator 百分比價格振盪器) 交易策略: PPO 指標表示快慢兩根移動均線之間的百分比差值,用於判斷價格的變化趨勢。長短均線的計算週期和 均線類型均爲策略參數。

策略參數:

fp: int, 快速均線計算週期

sp: int, 慢速均線計算週期

m: int, 移動均線類型(取值範圍0~8)

信號類型:

PT型: 百分比持倉目標信號

信號規則:

按照規則計算PPO,根據PPO的值生成持倉目標信號:

1, 當PPO > 0時,設置持倉目標爲1

2, 當PPO < 0時,設置持倉目標爲-1

3, 其餘情況設置持倉目標爲0

策略屬性缺省值:

默認參數: (12, 26, 0)

數據類型: close 收盤價,單數據輸入

窗口長度: 100

參數範圍: [(2, 100), (20, 200), (0, 8)]

策略不支持參考數據,不支持交易數據

qteasy.built_in.RSI(par_values=(12, 70, 30))[原始碼]

RSI (Relative Strength Index 相對強度指數) 交易策略: RSI 指標度量最近價格變化的幅度,從而判斷目前股票屬於超賣還是超買狀態,並據此判斷變化趨勢。RSI指標總是在0到100之間 震盪,是一條震盪曲線。

策略參數:

p: int, RSI計算週期

ulim: int, 觸發多頭倉位的最低限

llim: int, 觸發空頭倉位的最高限

信號類型:

PT型: 百分比持倉目標信號

信號規則:

按照規則計算RSI,根據RSI的值與ulim/llim的關係生成持倉目標信號:

1, 當RSI > ulim時,設置持倉目標爲1

2, 當RSI < llim時,設置持倉目標爲-1

3, 其餘情況設置持倉目標爲0

策略屬性缺省值:

默認參數: (12, 70, 30)``

數據類型: close 收盤價,單數據輸入

窗口長度: 100

參數範圍: [(2, 100), (50, 100), (0, 50)]

策略不支持參考數據,不支持交易數據

qteasy.built_in.STOCH(par_values=(5, 3, 0, 3, 0))[原始碼]

STOCH (Stochastic Indicator 隨機指數) 交易策略: STOCH 指標度量價格變化的動量,並且動量的大小判斷價格趨勢,並生成比例買賣交易信號。

策略參數:

fk: int, 快速均線計算週期

sk: int, 慢速K均線計算週期

skm: int, 慢速K均線類型,取值範圍0~8

sd: int, 慢速D均線計算週期

sdm: int, 慢速D均線類型,取值範圍0~8

信號類型:

PS型: 百分比買賣交易信號

信號規則:

按照規則計算k值和d值,根據k值生成比例買賣交易信號:

1, 當k > 80時,產生逐步賣出信號,每週期賣出持有份額的30%

2, 當k < 20時,產生逐步買入信號,每週期買入總投資額的10%

3, 當k和d發生背離的時候,也會產生信號(未來改進)

策略屬性缺省值:

默認參數: (5, 3, 0, 3, 0)

數據類型: high, low, close 最高價,最低價,收盤價,多數據輸入

窗口長度: 100

參數範圍: [(2, 100), (2, 100), (0, 8), (2, 100), (0, 8)]

策略不支持參考數據,不支持交易數據

qteasy.built_in.STOCHF(par_values=(5, 3, 0))[原始碼]

STOCHF (Stochastic Fast Indicator 快速隨機指標) 交易策略: STOCHF 指標度量價格變化的動量,與STOCH策略類似,使用快速隨機指標判斷價格趨勢,並生成比例買賣交易信號。

策略參數:

fk: int, 快速K均線計算週期

fd: int, 快速D均線計算週期

fdm: int, 快速D均線類型,取值範圍0~8

信號類型:

PS型: 百分比買賣交易信號

信號規則:

按照規則計算k值和d值,根據k值生成比例買賣交易信號:

1, 當k > 80時,產生逐步賣出信號,每週期賣出持有份額的30%

2, 當k < 20時,產生逐步買入信號,每週期買入總投資額的10%

3, 當k和d發生背離的時候,也會產生信號(未來改進)

策略屬性缺省值:

默認參數: (5, 3, 0)

數據類型: high, low, close 最高價,最低價,收盤價,多數據輸入

窗口長度: 100

參數範圍: [(2, 100), (2, 100), (0, 8)]

策略不支持參考數據,不支持交易數據

qteasy.built_in.STOCHRSI(par_values=(14, 5, 3, 0))[原始碼]

STOCHRSI (Stochastic Relative Strength Index 隨機相對強弱指標) 交易策略: STOCHRSI 指標度量價格變化的動量,該指標在0~1之間波動,表示相對的價格趨勢強弱程度,並生成比例買賣交易信號。

策略參數:

p: int, 計算週期

fk: int, 快速K均線計算週期

fd: int, 快速D均線計算週期

fdm: int, 快速D均線類型,取值範圍0~8

信號類型:

PS型: 百分比買賣交易信號

信號規則:

按照規則計算k值和d值,根據k值生成比例買賣交易信號:

1, 當k > 0.8時,產生逐步賣出信號,每週期賣出持有份額的30%

2, 當k < 0.2時,產生逐步買入信號,每週期買入總投資額的10%

3, 當k和d發生背離的時候,也會產生信號(未來改進)

策略屬性缺省值:

默認參數: (14, 5, 3, 0)

數據類型: close 收盤價,單數據輸入

窗口長度: 100

參數範圍: [(2, 100), (2, 100), (2, 100), (0, 8)]

策略不支持參考數據,不支持交易數據

qteasy.built_in.ULTOSC(par_values=(7, 14, 28, 70, 30))[原始碼]

ULTOSC (Ultimate Oscillator Indicator 終極振盪器指標) 交易策略: ULTOSC 指標通過三個不同的時間跨度計算價格動量,並根據多種不同動量之間的偏離值生成交易信號。

策略參數:

p1: int, 動量計算週期 1

p2: int, 動量計算週期 2

p3: int, 動量計算週期 3

u: int, 賣出信號閾值

l: int, 買入信號閾值

信號類型:

PS型: 百分比買賣交易信號

信號規則:

計算``ULTOSC``指標,並根據指標的大小生成交易信號:

1, 當``ULTOSC`` > u時,產生逐步賣出信號,每週期賣出持有份額的30%

2, 當``ULTOSC ``< l時,產生逐步買入信號,每週期買入總投資額的10%

策略屬性缺省值:

默認參數: (7, 14, 28, 70, 30)

數據類型: high, low, close 最高價,最低價,收盤價,多數據輸入

窗口長度: 100

參數範圍: [(1, 100), (1, 100), (1, 100), (70, 99), (1, 30)]

策略不支持參考數據,不支持交易數據

基於量價技術指標的擇時策略

qteasy.built_in.WILLR(par_values=(14, 80, 20))[原始碼]

WILLR (William’s %R 威廉姆斯百分比) 交易策略: WILLR 指標被用於計算股價當前處於超買還是超賣區間,並用於生成交易信號

策略參數:

p: int, 動量計算週期

u: int, 賣出信號閾值

l: int, 買入信號閾值

信號類型:

PS型: 百分比買賣交易信號

信號規則:

計算``WILLR``指標,並根據指標的大小生成交易信號:

1, 當``WILLR > -l``時,產生逐步賣出信號,每週期賣出持有份額的30%

2, 當``WILLR < -u``時,產生逐步買入信號,每週期買入總投資額的10%

策略屬性缺省值:

默認參數: (14, 80, 20)

數據類型: high, low, close 最高價,最低價,收盤價,多數據輸入

窗口長度: 100

參數範圍: [(2, 100), (70, 99), (1, 30)]

策略不支持參考數據,不支持交易數據

qteasy.built_in.AD()[原始碼]

AD 交易策略: 本策略使用AD線 (Accumulate Distribution Line)來生成交易信號,它基於交易量和交易價格來判斷 一隻股票的資金累計流入或者流出的趨勢,並通過此種趨勢判斷市場的上升/下降。

策略參數:

無策略參數

信號類型:

PS型: 百分比買賣交易信號

信號規則:

計算 AD 指標,根據AD信號的變化情況(上升/持平/下降)生成交易信號:

AD線的變化趨勢通過比較今天/昨天兩個AD值的大小來確定:

1, 當 AD(last) > AD(latest) 時,下降趨勢,產生逐步賣出信號,每週期賣出持有份額的30%

2, 當 AD(last) < AD(latest) 時,上升趨勢,產生逐步買入信號,每週期買入總投資額的10%

3, 當 AD(last) = AD(latest) 時,持平趨勢,不產生任何交易信號

策略屬性缺省值:

默認參數: ()

數據類型: high, low, close, volume 最高價,最低價,收盤價, 成交量,多數據輸入

窗口長度: 100

參數範圍: []

策略不支持參考數據,不支持交易數據

qteasy.built_in.ADOSC(par_values=(3, 10))[原始碼]

AD Oscillator 交易策略: 本策略使用ADOSC (Accumulate Distribution 振盪器)來生成交易信號,AD振盪器通過計算AD線的MACD 線判斷股票價格的多空走向。

策略參數:

f: int, 快均線週期

s: int, 慢均線週期

信號類型:

PS型: 百分比買賣交易信號

信號規則:

計算 ADOSC 指標,並根據指標的大小生成交易信號:

1, 當 AD > 0 時,產生逐步賣出信號,每週期賣出持有份額的30%

2, 當 AD < 0 時,產生逐步買入信號,每週期買入總投資額的10%

3, 當 AD = 0 時,不產生任何交易信號

策略屬性缺省值:

默認參數: (3, 10)

數據類型: high, low, close, volume 最高價,最低價,收盤價, 成交量,多數據輸入

窗口長度: 100

參數範圍: [(2, 10), (10, 99)]

策略不支持參考數據,不支持交易數據

qteasy.built_in.OBV(par_values=(15,))[原始碼]

OBV 交易策略: 本策略使用OBV(On-Board Values)來生成交易信號,它基於交易量和交易價格來確認股票的變化

趨勢(通過均線判斷趨勢),當OBV信號確認價格上升趨勢時,產生建倉信號,當OBV信號與價格趨勢。

策略參數:

n: int, OBV和收盤價的移動平均線計算週期

信號類型:

PS型: 百分比買賣交易信號

信號規則:

計算 OBV 指標,並計算OBV指標的N日(N爲可調參數)移動平均線,同時計算收盤價的

N日移動均線,並根據移動均線昨日/今日的關係判斷上升/下降趨勢:

當昨日均線高於今日時,判斷爲下降趨勢,當昨日均線低於今日時,判斷爲上升趨勢。

策略再根據兩條均線的上升/下降趨勢的確認/背離產生買入/賣出信號:

1, 當 收盤價趨勢上升,且OBV趨勢上升時,上升趨勢得到確認,買入100%份額

2, 當 收盤價趨勢上升,但OBV趨勢下降時,上升趨勢背離,賣出持有股份的50%

3, 當 收盤價趨勢下降,且OBV趨勢下降時,下降趨勢得到確認,賣出全部持有股份。

策略屬性缺省值:

默認參數: (15, )

數據類型: close, volume 收盤價, 成交量,多數據輸入

窗口長度: 100

參數範圍: [(5, 100)]

策略不支持參考數據,不支持交易數據

基於波動率技術指標的擇時策略

qteasy.built_in.ATR(par_values=(15,))[原始碼]

ATR 交易策略:

ATR交易策略使用ATR指標來生成交易信號,ATR指標度量股票價格的波動性,通過波動性來判斷股票的

風險和波動性,從而生成交易信號。

策略參數:

n: int, ATR的計算週期

信號類型:

PS型: 百分比買賣交易信號

信號規則:

計算 ATR 指標,並計算價格的N日(N爲可調參數)移動平均線和ATR指標,並

根據ATR以及移動均線昨日/今日的關係判斷上升/下降趨勢:

當昨日均線高於今日時,判斷爲下降趨勢,當昨日均線低於今日時,判斷爲上升趨勢。

策略再根據ATR的值來判斷上升下降趨勢的確認與否:

1, 當 收盤價趨勢上升,且ATR趨勢上升時,上升趨勢得到確認,買入100%份額

2, 當 收盤價趨勢下降,且ATR趨勢下降時,下降趨勢得到確認,賣出全部持有股份

3, 當出現其他情況時,不產生任何交易信號

策略屬性缺省值:

默認參數: (15, )

數據類型: high, low, close, 最高價,最低價,收盤價,多數據輸入

窗口長度: 100

參數範圍: [(5, 100)]

策略不支持參考數據,不支持交易數據

qteasy.built_in.NATR()[原始碼]

Not Implemented Yet

qteasy.built_in.TRANGE()[原始碼]

Not Implemented Yet