日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪(fǎng)問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > python >内容正文

python

python股票自动买卖视频教程_十分钟学会用Python交易股票

發(fā)布時(shí)間:2023/12/3 python 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python股票自动买卖视频教程_十分钟学会用Python交易股票 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

該樓層疑似違規(guī)已被系統(tǒng)折疊?隱藏此樓查看此樓

本文通過(guò)講述 [單股票均線(xiàn)策略] 在 Ricequant 量化平臺(tái)的實(shí)現(xiàn),熟悉平臺(tái)并快速入門(mén)、創(chuàng)建自己的量化策略代碼 。難易度:入門(mén)級(jí).從一下幾點(diǎn)說(shuō)起;

1 確定框架:

[單股票均線(xiàn)策略] 的主要策略框架: 5 日均線(xiàn)高于 30 天均線(xiàn),則全倉(cāng)買(mǎi)入股票 5 日均線(xiàn)低于 30 天均線(xiàn),則賣(mài)出所持股票

從我們?nèi)粘=灰椎慕嵌?#xff0c;一般交易者的行為可以拆分以下兩部分:

1 選擇標(biāo)的(初始化):

在交易之前,我們通常會(huì)先選定要交易的股票池或者單個(gè)股票

2 交易(每天盯盤(pán))

我們會(huì)觀(guān)察該股票的五日均線(xiàn)和 30 日均線(xiàn),并進(jìn)行比較如果該股票的五日均線(xiàn)在 30 天均線(xiàn)以上,則全倉(cāng)買(mǎi)入股票如果該股票的五日均線(xiàn)在 30 天均線(xiàn)以下,則全倉(cāng)賣(mài)出(空倉(cāng))

那么程序中,我們是怎么做的呢?

先看看 Ricequant 平臺(tái)中對(duì)應(yīng)的代碼框架會(huì)是怎么樣的吧:

def init(context):#程序的初始化,預(yù)設(shè)股票池、設(shè)置參數(shù)和變量。 只運(yùn)行一次def handle(context, bar_dict):#從回測(cè)的開(kāi)始日期至結(jié)束日期,根據(jù)選擇的頻率(日、分鐘)循環(huán)運(yùn)行

對(duì)照策略思路 及 Ricequant 代碼框架,你會(huì)發(fā)現(xiàn)我們可以很輕松地把 兩者結(jié)合起來(lái)

以上框架也是 Ricequant 平臺(tái)的最基本也最主要的框架,也就是

初始化

循環(huán) - 根據(jù)選擇的頻率(日、分鐘)循環(huán)運(yùn)行

2 初始化:

選擇標(biāo)的:本策略的交易股票設(shè)定為 300059 ”東方財(cái)富“。

def init(context): context.stock = "300059.XSHE" # 存入目標(biāo)股票 [東方財(cái)富 ]

延伸閱讀:

1 在 init 中實(shí)現(xiàn)程序的初始化,例如存入目標(biāo)股票池,設(shè)置滑點(diǎn)、基準(zhǔn)等參數(shù)以及設(shè)置其它變量。 context 是一個(gè)全局的容器,你可以通過(guò)它設(shè)置任何全局變量并初始化:如 context.stock 將會(huì)在后面代碼所被調(diào)用到。

2 代碼中 # 代表注釋,作為代碼說(shuō)明,執(zhí)行時(shí)會(huì)被跳過(guò)而不為程序所運(yùn)行。

3 如何填寫(xiě)股票代碼:你會(huì)發(fā)現(xiàn)策略代碼中 股票代碼后帶有后綴,那么它們分別代表什么呢?

后綴為

XSHE 代表在深交所上市交易的股票

XSHG 在上交所上市交易的股票

3 獲取均價(jià):

我們分別獲取該股票 5 日和 30 日的均價(jià)

# 用法:變量 = bar_dict[股票代碼].mavg(天數(shù), frequency='day')# 獲取近五日股票收盤(pán)價(jià)均價(jià),命名為 fast fast = bar_dict[context.stock].mavg(5, frequency='day')# 同上,獲取近二十日的收盤(pán)價(jià)均價(jià),命名為 slow : slow = bar_dict[context.stock].mavg(30, frequency='day')4 判斷買(mǎi)賣(mài)條件:

獲得均價(jià)數(shù)據(jù)之后,我們就可以進(jìn)行一個(gè)判斷決定是否買(mǎi)賣(mài)了:

if fast>slow: # 若快線(xiàn)在慢線(xiàn)之上則用所有現(xiàn)金買(mǎi)入該股票 #買(mǎi)入操作 elif fast

在判斷之前,我們還漏了一步,那是什么呢?就是要知道我們有多少現(xiàn)金,那么在程序中是如何獲得現(xiàn)金的呢?我們使用以下代碼

# 用法:變量 = context.portfolio.cashcash = context.portfolio.cash #取得當(dāng)前的現(xiàn)金量,命名為 cash

延伸閱讀: portfolio 中 包含所有的投資組合的信息,請(qǐng)參考文檔 - Portfolio 對(duì)象

5 買(mǎi)入 /賣(mài)出:

在判定買(mǎi)賣(mài)的條件成立之后,我們會(huì)對(duì)股票進(jìn)行買(mǎi)入或者賣(mài)出的操作:

#用法 order_value(股票代碼,買(mǎi)賣(mài)金額) 金額為正則為買(mǎi)入,負(fù)數(shù)則為賣(mài)出#將所有現(xiàn)金買(mǎi)入 300059 東方財(cái)富order_value(context.stock, cash) #用法: order_target_value(股票代碼,目標(biāo)持倉(cāng)比例) 比例在 1 與 0 之間#此處將持倉(cāng)比例調(diào)整為 0 ,則等同于全部賣(mài)出order_target_percent(context.stock, 0)

6 策略回測(cè)

以上,我們用幾行代碼就把策略的框架完整地搭建起來(lái)了,最終的完整代碼為:

def init(context): #初始化 context.stock = "300059.XSHE" #存入要交易的股票代碼def handle_bar(context, bar_dict): #每日循環(huán)運(yùn)行 #獲取 30 日均線(xiàn) slow = bar_dict[context.stock].mavg(30, frequency='day') #獲取 5 日均線(xiàn) fast = bar_dict[context.stock].mavg(5, frequency='day') cash = context.portfolio.cash #獲取持有現(xiàn)金金額 if fast>slow: #判定買(mǎi)入條件 order_value(context.stock, cash) #買(mǎi)入目標(biāo)股票 elif fast

寫(xiě)完了策略,那么我們接下去做什么呢? 先對(duì)我們的策略進(jìn)行一次歷史回測(cè),看看它的歷史表現(xiàn)是如何吧。

在策略編輯頁(yè)面右上方,選擇從 2015 年 1 月 4 日至 2016 年 10 月 4 日,用資金 100 萬(wàn)元進(jìn)行日回測(cè)吧,請(qǐng)點(diǎn)擊 運(yùn)行回測(cè)。

python簡(jiǎn)單易學(xué),使用python研究股票更是得心應(yīng)手。

總結(jié)

以上是生活随笔為你收集整理的python股票自动买卖视频教程_十分钟学会用Python交易股票的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。