主頁 > 區塊鏈 > 從零撰寫60%+勝率的短線擇時信號!零基礎python量化投資代碼詳解【邢不行】

從零撰寫60%+勝率的短線擇時信號!零基礎python量化投資代碼詳解【邢不行】

2021-09-29 15:17:59 區塊鏈

引言:

邢不行的系列帖子“量化小講堂”,通過實際案例教初學者使用python進行量化投資,了解行業研究方向,希望能對大家有幫助,

?

?

如果有人說你是百年難得一見的量化投資天才,要送你一本秘籍,你信還是不信?

?

你是否有量化投資天賦我不知道,也沒有秘籍,但本文可以測驗你是否有量化編程的天賦,

我會用一個實際案例逐行講解量化代碼,編程零基礎也能完全理解,

如果你看完后覺得很容易,甚至有一點熱血沸騰想學編程,至少說明你對這方面是感興趣的,并且可能還有一些天賦,

01

編程問題描述

1、某神秘事件

很多人會費心尋找股市上漲的征兆,并以此作為自己的買入依據,

這里就有一個神秘征兆,只要這些征兆發生,大盤未來5榷訓有較大的概率上漲,具體統計如下表:

?

事件發生后未來5榷訓深300指數(代指大盤)平均漲幅0.7%左右,上漲概率也都大于55%,最多能到60%+

要知道在X場莊家靠51%+的勝率都能賺得盆滿缽滿,55%勝率的事件代表什么也就不言而喻了,

那這類神秘事件究竟是什么呢?

它就是「北向資金」單日凈流入事件,圖中事件1-4分別代表了北向資金單日凈流入大于40億、50億、60億和70億,

?

北向資金大幅度凈流入事件

北向資金大幅度凈流入事件一旦北向資金單日凈流入達到一定標準,我們就認為是一個不錯的上漲征兆,

2、北向資金說明

可能還有朋友不了解北向資金是什么,這里做簡單的說明,

?

北向資金圖解

如上圖所示,在香港的港交所,投資者可以使用港幣交易其上市股票;在大陸的深交所上交所,可以使用人民幣交易在A股上市的股票,

從2014年起,A股和港交所開始嘗試部分互通,全世界投資者可以用港幣在港交所通過滬股通及深股通直接購買A股,

而因為上交所和深交所都在香港的北邊,所以這些來自香港的投資被形象的稱為北向資金,

3、北向資金資料統計

并且對于我們量化投資者非常友好的是,在香港交易所官網上會每日披露北向資金的交易明細資料

?

香港交易所網址https://www.hkex.com.hk

例如上圖中,2021年6月18日當天北向資金總共買入291億、賣出309億,總成交額為600億,凈流入負18億(291-309),

通過資料就能統計出北向資金單日凈流入大于0的天數,觀察大盤次日表現:上漲概率55%,平均漲幅0.15%,

?

統計時間:2014.11.17-2021.05.31

為了全面了解北向資金凈流入,我繼續統計了事件發生后大盤未來3日和5日的表現,同時將凈流入標準從0依次擴大至100億,

?

北向資金統計

觀察上圖發現,北向資金一旦發生凈流入,未來幾日大盤確實表現較好,這是一個很不錯的股市征兆,

接下來,本文就會從資料收集開始,詳細講解如何運用Python寫代碼逐步得到上文統計圖,

當然單憑統計結果是無法形成明確的買點、賣點的,關于用北向資金資料構建交易策略,可以看我這期視頻,

?

點擊文字觀看視頻

02

量化資料獲取

在撰寫代碼前我們首先要知道如何獲取北向資金資料

1、財經網站

最基本的可以去港交所官網下載北向資金交易明細資料,

?

港交所網址:www.hkex.com.hk

但上面的資料并未整理無法直接下載,你需要用Python寫爬蟲代碼去抓取相關資料,

所以我更建議你從主流財經網站上爬取資料,如東方財富網、新浪財經等,

上面有每日更新整理好的資料,爬取內容比港交所更優質,

?

東財資料網址:data.eastmoney.com/hsgt

2、量化小課堂

也可以到我們量化小講堂網站進行下載,上面有各類A股和數字貨幣相關資料,其中就包含北向資金資料,

?

量化小講堂:quantclass.cn/data/stock

需要的話可以加我xbx719,我會無償送你一份最新資料,

3、資料展示

下載資料后得到可以直接使用滬股通和深股通的Excel檔案,

?

滬股通Excel

運用檔案中包含的當日成交凈買額(凈流入)欄位,可以統計不同情況下北向資金單日凈流入出現次數

此外還需滬深300指數每日收盤價資料來計算漲跌幅,以統計大盤未來幾日表現,

量化小講堂同樣提供指數的歷史日線資料,且能永久免費獲取,

?

量化小講堂:quantclass.cn/data/stock

加我獲取網址后,下載的資料如圖所示,包含了2005年至今滬深300指數每日開高收低的價格資料,

?

滬深300指數歷史日線資料

這樣我們就整理好了所需資料:北向凈流入指數收盤價,

接下來就是我們真正硬核的內容:如何通過Python編程得到下方統計圖,

?

真正的勇士可以繼續看完逐行的代碼講解

03

編程思路

下面就是完整的編程思路文字版,需要的話也可以看視頻版本:

<iframe id="2jpKTvJp-1632711574453" src="https://player.bilibili.com/player.html?aid=762023333" allowfullscreen="true" data-mediaembed="bilibili"></iframe>

60%勝率的短線信號!零基礎python量化代碼詳解【量化投資邢不行啊】

編程部分從7:52起

1、資料初步處理

我們下載的資料(滬股通/深股通/滬深300)都以CSV格式存盤,可用Excel打開,

?

正式講解編程前,我先用Excel來演示資料處理的思路,看完就會發現編程操作大抵如此,

首先新建一個Excel,將滬深300表格中2014年11月17日之后的日期與close列(收盤價)資料復制過去,

?

滬深300指數資料

同樣將滬股通和深股通的當日成交凈買額列對照日期復制過去,

?

滬股通

?

深股通

滬、深當日成交凈買額列相加形成北向資金當日凈流入列,如下表:

?

初步處理后資料表格

2、資料統計

根據以上資料計算大盤在北向資金單日凈流入事件觸發后未來幾日的表現,

要求次日表現,就用(次日收盤價-當日收盤價)/當日收盤價得到,如11月17日則為(2541.42-2567.1)/2567.1 = -1%,即跌幅1%,

同理可計算大盤未來3日和5日表現,

?

11月17日未來5日表現計算方式

選中北向資金當日凈流入列,使用篩選功能,如要求大于10億的事件出現次數(表中單位為百萬),則輸入1000,

?

篩選條件

篩選后如下圖計數所示該事件出現655次,扣除表頭后則為654次,

同理可得北向資金單日凈流入各事件出現次數,

?

再次篩選各事件對應的次日/未來3日/未來5日的上漲次數,即漲跌幅大于0的次數,

繼而用上漲次數/出現次數得到上漲概率

最后針對未來N日表現列求平均值即可計算出對應的平均漲跌幅

完成上述所有步驟后即可求出前文的統計圖,

?

通過Excel處理資料其實并不麻煩,但思路卻至關重要,寫代碼時你就會發現編程思路和手工操作Excel的思路完全一致

?

04

代碼詳解

到此我們正式進入代碼逐行講解環節,有了上面的鋪墊,零基礎也可以輕松聽懂

如果有朋友連Python都不會安裝,可以看我這期文章, 收藏|最最最最簡單、最最最最詳細的Python和Pandas安裝教程

這個教程經過千錘百煉,可以幫你避免很多不必要的坑,你可以加我xbx719,我把這篇文章及相應的安裝包發給你,

按照文章流程安裝好Python后,打開Anaconda程式中的Spyder,

?

Spyder界面

接下來就是真槍實彈的操作部分了,

先用read_csv函式讀取原始資料,并將資料時間段定在2014年11月17日以后,代碼如下:

?

讀取資料代碼

接著用sum函式將代表滬/深股通資料的當日成交凈買額h和當日成交凈買額s相加得到北向資金凈流入

?

計算凈流入

之后用Excel講解中提到的公式計算出N日漲跌幅資料,只要會簡單的數學運算即可,

?

N日漲跌幅

最后寫出篩選資料的代碼,計算北向資金單日凈流入各事件出現次數以及未來幾日上漲次數、上漲概率、平均漲跌幅等資訊,

?

完整代碼運行結果如下:

?

05

后記

我強烈建議你看完文章、視頻后親自寫一下代碼加深感受,這樣才能對整個流程有更直觀的認識,

本文相關代碼和資料都可以加我xbx719獲取,

以上就是本次代碼講解的大致內容,礙于篇幅還有許多細節無法一一展開,更詳細的內容推薦你去看本文的相關視頻:

<iframe id="LPj8kKzU-1632625732351" src="https://player.bilibili.com/player.html?aid=762023333" allowfullscreen="true" data-mediaembed="bilibili"></iframe>

60%勝率的短線信號!零基礎python量化代碼詳解【量化投資邢不行啊】

?

聯系作者:

?

轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/304123.html

標籤:區塊鏈

上一篇:觀微見著:央媽出手,火幣不能玩,位元幣還能繼續玩耍嗎?如何出售?

下一篇:西部世界:游戲巨頭布局元宇宙IPFS能起著怎樣的作用?

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • JAVA使用 web3j 進行token轉賬

    最近新學習了下區塊鏈這方面的知識,所學不多,給大家分享下。 # 1. 關于web3j web3j是一個高度模塊化,反應性,型別安全的Java和Android庫,用于與智能合約配合并與以太坊網路上的客戶端(節點)集成。 # 2. 準備作業 jdk版本1.8 引入maven <dependency> < ......

    uj5u.com 2020-09-10 03:03:06 more
  • 以太坊智能合約開發框架Truffle

    前言 部署智能合約有多種方式,命令列的瀏覽器的渠道都有,但往往跟我們程式員的風格不太相符,因為我們習慣了在IDE里寫了代碼然后打包運行看效果。 雖然現在IDE中已經存在了Solidity插件,可以撰寫智能合約,但是部署智能合約卻要另走他路,沒辦法進行一個快捷的部署與測驗。 如果團隊管理的區塊節點多、 ......

    uj5u.com 2020-09-10 03:03:12 more
  • 谷歌二次驗證碼成為區塊鏈專用安全碼,你怎么看?

    前言 谷歌身份驗證器,前些年大家都比較陌生,但隨著國內互聯網安全的加強,它越來越多地出現在大家的視野中。 比較廣泛接觸的人群是國際3A游戲愛好者,游戲盜號現象嚴重+國外賬號安全應用廣泛,這類游戲一般都會要求用戶系結名為“兩步驗證”、“雙重驗證”等,平臺一般都推薦用谷歌身份驗證器。 后來區塊鏈業務風靡 ......

    uj5u.com 2020-09-10 03:03:17 more
  • 密碼學DAY1

    目錄 ##1.1 密碼學基本概念 密碼在我們的生活中有著重要的作用,那么密碼究竟來自何方,為何會產生呢? 密碼學是網路安全、資訊安全、區塊鏈等產品的基礎,常見的非對稱加密、對稱加密、散列函式等,都屬于密碼學范疇。 密碼學有數千年的歷史,從最開始的替換法到如今的非對稱加密演算法,經歷了古典密碼學,近代密 ......

    uj5u.com 2020-09-10 03:03:50 more
  • 密碼學DAY1_02

    目錄 ##1.1 ASCII編碼 ASCII(American Standard Code for Information Interchange,美國資訊交換標準代碼)是基于拉丁字母的一套電腦編碼系統,主要用于顯示現代英語和其他西歐語言。它是現今最通用的單位元組編碼系統,并等同于國際標準ISO/IE ......

    uj5u.com 2020-09-10 03:04:50 more
  • 密碼學DAY2

    ##1.1 加密模式 加密模式:https://docs.oracle.com/javase/8/docs/api/javax/crypto/Cipher.html ECB ECB : Electronic codebook, 電子密碼本. 需要加密的訊息按照塊密碼的塊大小被分為數個塊,并對每個塊進 ......

    uj5u.com 2020-09-10 03:05:42 more
  • NTP時鐘服務器的特點(京準電子)

    NTP時鐘服務器的特點(京準電子) NTP時鐘服務器的特點(京準電子) 京準電子官V——ahjzsz 首先對時間同步進行了背景介紹,然后討論了不同的時間同步網路技術,最后指出了建立全球或區域時間同步網存在的問題。 一、概 述 在通信領域,“同步”概念是指頻率的同步,即網路各個節點的時鐘頻率和相位同步 ......

    uj5u.com 2020-09-10 03:05:47 more
  • 標準化考場時鐘同步系統推進智能化校園建設

    標準化考場時鐘同步系統推進智能化校園建設 標準化考場時鐘同步系統推進智能化校園建設 安徽京準電子科技官微——ahjzsz 一、背景概述隨著教育事業的快速發展,學校建設如雨后春筍,隨之而來的學校教育、管理、安全方面的問題成了學校管理人員面臨的最大的挑戰,這些問題同時也是學生家長所擔心的。為了讓學生有更 ......

    uj5u.com 2020-09-10 03:05:51 more
  • 位元幣入門

    引言 位元幣基本結構 位元幣基礎知識 1)哈希演算法 2)非對稱加密技術 3)數字簽名 4)MerkleTree 5)哪有位元幣,有的是UTXO 6)位元幣挖礦與共識 7)區塊驗證(共識) 總結 引言 上一篇我們已經知道了什么是區塊鏈,此篇說一下區塊鏈的第一個應用——位元幣。其實先有位元幣,后有的區塊 ......

    uj5u.com 2020-09-10 03:06:15 more
  • 北斗對時服務器(北斗對時設備)電力系統應用

    北斗對時服務器(北斗對時設備)電力系統應用 北斗對時服務器(北斗對時設備)電力系統應用 京準電子科技官微(ahjzsz) 中國北斗衛星導航系統(英文名稱:BeiDou Navigation Satellite System,簡稱BDS),因為是目前世界范圍內唯一可以大面積提供免費定位服務的系統,所以 ......

    uj5u.com 2020-09-10 03:06:20 more
最新发布
  • web3 產品介紹:metamask 錢包 使用最多的瀏覽器插件錢包

    Metamask錢包是一種基于區塊鏈技術的數字貨幣錢包,它允許用戶在安全、便捷的環境下管理自己的加密資產。Metamask錢包是以太坊生態系統中最流行的錢包之一,它具有易于使用、安全性高和功能強大等優點。 本文將詳細介紹Metamask錢包的功能和使用方法。 一、 Metamask錢包的功能 數字資 ......

    uj5u.com 2023-04-20 08:46:47 more
  • Hyperledger Fabric 使用 CouchDB 和復雜智能合約開發

    在上個實驗中,我們已經實作了簡單智能合約實作及客戶端開發,但該實驗中智能合約只有基礎的增刪改查功能,且其中的資料管理功能與傳統 MySQL 比相差甚遠。本文將在前面實驗的基礎上,將 Hyperledger Fabric 的默認資料庫支持 LevelDB 改為 CouchDB 模式,以實作更復雜的資料... ......

    uj5u.com 2023-04-16 07:28:31 more
  • .NET Core 波場鏈離線簽名、廣播交易(發送 TRX和USDT)筆記

    Get Started NuGet You can run the following command to install the Tron.Wallet.Net in your project. PM> Install-Package Tron.Wallet.Net 配置 public reco ......

    uj5u.com 2023-04-14 08:08:00 more
  • DKP 黑客分析——不正確的代幣對比率計算

    概述: 2023 年 2 月 8 日,針對 DKP 協議的閃電貸攻擊導致該協議的用戶損失了 8 萬美元,因為 execute() 函式取決于 USDT-DKP 對中兩種代幣的余額比率。 智能合約黑客概述: 攻擊者的交易:0x0c850f,0x2d31 攻擊者地址:0xF38 利用合同:0xf34ad ......

    uj5u.com 2023-04-07 07:46:09 more
  • Defi開發簡介

    Defi開發簡介 介紹 Defi是去中心化金融的縮寫, 是一項旨在利用區塊鏈技術和智能合約創建更加開放,可訪問和透明的金融體系的運動. 這與傳統金融形成鮮明對比,傳統金融通常由少數大型銀行和金融機構控制 在Defi的世界里,用戶可以直接從他們的電腦或移動設備上訪問廣泛的金融服務,而不需要像銀行或者信 ......

    uj5u.com 2023-04-05 08:01:34 more
  • solidity簡單的ERC20代幣實作

    // SPDX-License-Identifier: GPL-3.0 pragma solidity >=0.7.0 <0.9.0; import "hardhat/console.sol"; //ERC20 同質化代幣,每個代幣的本質或性質都是相同 //ETH 是原生代幣,它不是ERC20代幣, ......

    uj5u.com 2023-03-21 07:56:29 more
  • solidity 參考型別修飾符memory、calldata與storage 常量修飾符C

    在solidity語言中 參考型別修飾符(參考型別為存盤空間不固定的數值型別) memory、calldata與storage,它們只能修飾參考型別變數,比如字串、陣列、位元組等... memory 適用于方法傳參、返參或在方法體內使用,使用完就會清除掉,釋放記憶體 calldata 僅適用于方法傳參 ......

    uj5u.com 2023-03-08 07:57:54 more
  • solidity注解標簽

    在solidity語言中 注釋符為// 注解符為/* 內容*/ 或者 是 ///內容 注解中含有這幾個標簽給予我們使用 @title 一個應該描述合約/介面的標題 contract, library, interface @author 作者的名字 contract, library, interf ......

    uj5u.com 2023-03-08 07:57:49 more
  • 評價指標:相似度、GAS消耗

    【代碼注釋自動生成方法綜述】 這些評測指標主要來自機器翻譯和文本總結等研究領域,可以評估候選文本(即基于代碼注釋自動方法而生成)和參考文本(即基于手工方式而生成)的相似度. BLEU指標^[^?88^^?^]^:其全稱是bilingual evaluation understudy.該指標是最早用于 ......

    uj5u.com 2023-02-23 07:27:39 more
  • 基于NOSTR協議的“公有制”版本的Twitter,去中心化社交軟體Damus

    最近,一個幽靈,Web3的幽靈,在網路游蕩,它叫Damus,這玩意詮釋了什么叫做病毒式營銷,滑稽的是,一個Web3產品卻在Web2的產品鏈上瘋狂傳銷,各方大佬紛紛為其背書,到底發生了什么?Damus的葫蘆里,賣的是什么藥? 注冊和簡單實用 很少有什么產品在用戶注冊環節會有什么噱頭,但Damus確實出 ......

    uj5u.com 2023-02-05 06:48:39 more