sponsored links

「後續」Python寫程式碼AI全自動炒股 5萬塊,現在賺了多少?

大家好,我是林路。小夥伴們期盼已久的量化交易教程,今天它來了!

有不少小夥伴,一直很關心我量化交易的實戰情況,經常會被問到:5 萬元,現在賺了多少?

這裡統一回復下,目前浮盈 6%。

遠低於我的預期,這跟大盤的走弱脫不開關係。9 月開始即巔峰,一路慘遭滑鐵盧,大盤再也沒回到過 3700 點,屬實有些慘淡。

「後續」Python寫程式碼AI全自動炒股 5萬塊,現在賺了多少?

不過越是這種冷清的時候,越是充能學習的時刻。

我最成功的一筆投資,不是買了哪支股票,而是自學了很多有趣的技術。

我還是那句話,最好的投資,就是投資自己!

回顧了自己的這一年,收穫良多,我學到了很多新技術。

今天,我們繼續聊量化交易



量化交易,說白了,主要分為三個部分:

  • 炒股資料獲取
  • 選股& 擇時策略
  • 交易系統

對於一些低頻的交易策略,甚至都用不上交易系統,手動操作都行。

Udata

一個穩定的炒股資料獲取介面很重要,可以自己寫爬蟲爬資料,但這樣太不穩定。

今天給大家推薦一個好用的 API 介面:

https://udata.hs.net

Udata 大牌子,是深耕金融領域 30 年的恆生電子推出的金融資料社群。

恆生電子大家應該都聽過,近千億市值的大公司,用資料這種事,找這類背景好的社群準沒錯。

今天我就以 Udata 提供的 API 股票介面為例,來一期保姆級的量化交易教程。

Udata 安裝

我們先從 Udata 的安裝開始講起。

首先要搭建一個 Python 的開發環境,Python 開發環境不會搭建的,可以看我之前釋出的一篇教程:

一勞永逸的 Python 環境搭建方法

Udata 可以使用 pip 安裝。

pip install hs_udata

這樣就表明安裝好了。

「後續」Python寫程式碼AI全自動炒股 5萬塊,現在賺了多少?

然後註冊個 Udata 賬戶,訂閱一個體驗套餐。各個社群都是一樣的,都有免費的體驗套餐給初學者使用。

註冊並訂閱號後,獲取 token。

https://udata.hs.net/console/overAllView

開啟連結,就能看到 token 獲取方式,直接複製即可。

「後續」Python寫程式碼AI全自動炒股 5萬塊,現在賺了多少?

然後使用如下程式碼,就可以獲取資料了。

from hs_udata import set_token, stock_list        # 引入 hs_udata 模組中 set_token 和 stock_list

if __name__ == "__main__":
    # 替換你的 token,檢視 token 地址:https://udata.hs.net/console/overAllView
    set_token(token = 'xxxxx')
    # 獲取 股票列表資料,返回格式為 dataframe
    data = stock_list()
    # 列印資料前 5 行
    print(data.head())

有正確的資料結果了,那恭喜你,配置成功!

「後續」Python寫程式碼AI全自動炒股 5萬塊,現在賺了多少?

量化分析

資料搞定了,我們就可以利用這個 API 介面,做一些策略。

無論是選股,還是擇時交易,都可以使用這個 API 介面的資料進行。

Udata 的 API 文件寫得很全面:

https://udata.hs.net/datas/202/

應有盡有:

「後續」Python寫程式碼AI全自動炒股 5萬塊,現在賺了多少?

之前的教程,給大家講解過 ETF 動量輪動策略。

今天來點不一樣的,基礎的分析技巧,也是我們必備的基本功。

比如畫個 K 線,視覺化工具,可以直接使用 pyecharts。

如果沒有安裝這個庫,可以先使用 pip 安裝一下。

pip install pyecharts

pyecharts 的使用非常簡單,可以直接看手冊。

https://pyecharts.org/#/zh-cn/intro

我們結合 Udata 的資料獲取 api 介面和 pyecharts 視覺化工具,就可以自己繪製 K 線。

import hs_udata as udata
from datetime import datetime, timedelta
import time
from pyecharts import options as opts
from pyecharts.charts import Kline

if __name__ == "__main__":
    # 替換你的 token,檢視 token 地址:https://udata.hs.net/console/overAllView
    udata.set_token(token = 'xxxxx')

    current_dt = time.strftime("%Y-%m-%d", time.localtime())
    current_dt = datetime.strptime(current_dt, '%Y-%m-%d')

    # 獲取 30 天的資料
    day_num = 30
    all_data = []
    all_date = []
    for i in range(1, day_num + 1)[::-1]:
        search_date = current_dt - timedelta(days = i)
        search_date = search_date.strftime("%Y%m%d")

        # 恆生電子近 30 日的股價
        data = udata.stock_quote_daily(en_prod_code = "600570.SH", trading_date = search_date)
        # 開盤價
        open_price = data['open_price'][0]
        # 收盤價
        close_price = data['close_price'][0]
        # 最低價
        low_price = data['low_price'][0]
        # 最高價
        high_price = data['high_price'][0]
        # 去掉非交易日資料
        if len(open_price) == 0:
            continue
        all_date.append(search_date)
        all_data.append([float(open_price), float(close_price), float(low_price), float(high_price)])

    # 使用 pyecharts 繪製 K 線
    c = (
        Kline()
        .add_xaxis(all_date)
        .add_yaxis(
            "K線",
            all_data,
            itemstyle_opts = opts.ItemStyleOpts(
                color = "#ec0000",
                color0 = "#00da3c",
                border_color = "#8A0000",
                border_color0 = "#008F28",
            ),
        )
        .set_global_opts(
            xaxis_opts = opts.AxisOpts(is_scale = True),
            yaxis_opts = opts.AxisOpts(
                is_scale = True,
                splitarea_opts = opts.SplitAreaOpts(
                    is_show = True, areastyle_opts = opts.AreaStyleOpts(opacity = 1)
                ),
            ),
            datazoom_opts = [opts.DataZoomOpts(type_ = "inside")],
            title_opts = opts.TitleOpts(title = "恆生電子近 30 日 K 線"),
        )
        .render("kline.html")
    )

執行成功後,會生成一個 kline.html 檔案,用瀏覽器開啟這個 html 檔案,就可以看到繪製效果了。

「後續」Python寫程式碼AI全自動炒股 5萬塊,現在賺了多少?

可能有小夥伴會問,這都是炒股軟體現成的,為什麼要自己繪製?

只有親自寫程式碼後,你才能深刻認識到每個資料背後所代表的含義。這是一個很好的,幫助我們學習的過程。更重要的是,等我們熟練之後,可以根據自己的各種需求,定製化自己獨家炒股介面。

你可以監控自己想要監控的所有資訊。

像什麼 KDJ、MACD 等各種指標,我們都是可以自己計算並可視化出來的。

不再受限於炒股軟體的一些指標,甚至一些炒股軟體的付費因子,我們都可以自己計算。

再比如,我們可以使用資料,做一些自己不瞭解的分析。舉個非常簡單的例子,你知道 A 股的行業分佈情況嗎?

幾行程式碼就可以搞定。

import hs_udata as udata
from pyecharts import options as opts
from pyecharts.charts import Pie
from tqdm import tqdm

if __name__ == "__main__":
    # 替換你的 token,檢視 token 地址:https://udata.hs.net/console/overAllView
    udata.set_token(token = 'xxxxx')
    # 獲取所有股票
    data = udata.stock_list(listed_state = "1")
    codes = data['hs_code'].tolist()

    industry_name_dict = {}
    # 遍歷股票
    for code in tqdm(codes):
        # 獲取股票行業資訊
        data = udata.industry_category(en_prod_code = code)
        industry_name_csrc = data['industry_name_csrc'][0].split("-")[0]
        # print(industry_name_csrc)
        # 統計行業數量
        if industry_name_csrc not in industry_name_dict.keys():
            industry_name_dict[industry_name_csrc] = 1
        else:
            industry_name_dict[industry_name_csrc] += 1

    # 視覺化
    c = (
        Pie()
        .add(
            "",
            [
                list(z)
                for z in zip(
                    industry_name_dict.keys(),
                    industry_name_dict.values(),
                )
            ],
            center=["40%", "50%"],
        )
        .set_global_opts(
            title_opts=opts.TitleOpts(title="A 股股票行業分佈"),
            legend_opts=opts.LegendOpts(type_="scroll", pos_left="80%", orient="vertical"),
        )
        .set_series_opts(label_opts=opts.LabelOpts(formatter="{b}: {c}"))
        .render("pie.html")
    )

執行程式碼,開啟 pie.html ,即可檢視 A 股股票的行業分佈情況。

「後續」Python寫程式碼AI全自動炒股 5萬塊,現在賺了多少?

製造業半壁江山啊!

除了這種簡單的行業統計,我們還可以統計每日的龍虎榜情況,監控股東持股情況,資金流向等。

根據股票的每日價格,我們還可以計算各種因子,輔助我們決策。

根據自己的需求,來個私人定製,搭建自己的交易體系。

當然了,師傅領進門,修行看個人。能寫的內容太多了,篇幅有限,今天先教一些基礎的玩法。這個系列教程,還會繼續更新的。

絮叨

最後再多說兩句,一直有不少小夥伴問我,賣系統不?賣原始碼不?賣服務不?

這樣的詢問,自從發了那期量化炒股的文章後,就沒有斷過。

說實話,還是建議自己學技術,自己寫策略,那多香啊!真的,一切並沒有那麼難,日積月累,慢慢學,學習用程式碼賺錢的過程,是一件很有趣的事情。

作者:Jack Cui

原文連結:https://mp.weixin.qq.com/s/80jJbVZinbEz-ocwQsjfPw

分類: 健康
時間: 2022-01-06

相關文章

1972年,74歲的周總理得了膀胱癌,2年經13場手術,體重只剩61斤

1972年,74歲的周總理得了膀胱癌,2年經13場手術,體重只剩61斤
這一天,鄧穎超隨手拿了一件衣服就急急忙忙地出了門,坐在車上的她心神不定,隨從的趙秘書緊緊握住她的手.鄧穎超的手心是冰冷的,冷汗從面板沁出,像是暗示著粘稠複雜的心情 汽車飛速地往前開,鄧大姐兩鬢的白髮甩 ...

江蘇一外婆去世外公獨自坐在角落哀愁,外孫女:這個家只剩外公了

江蘇一外婆去世外公獨自坐在角落哀愁,外孫女:這個家只剩外公了
導語:外婆去世以後外公獨自坐在角落,場面讓人看起來非常心酸.讓我們一起來看看這究竟是怎麼回事吧? 近日,在江蘇鹽城,一名女子的外婆去世了,留下外公一個人孤零零地在這世間.當天親朋好友聚在一起吃飯,大家 ...

抗日隊伍只剩兩人,隊長:快槍斃我!下級不忍,急中生智逃過一劫

抗日隊伍只剩兩人,隊長:快槍斃我!下級不忍,急中生智逃過一劫
自從"九一八"事變之後,日本侵略者就在中國的土地上開始瘋狂的掠奪,猶如強盜一般,所到之處無不哀嚎遍野,生靈塗炭. 一九四二年,日本侵略者在山東遭到了嚴重的抗擊,於是在這年八月調集重 ...

全連只剩7人,槍管發燙打不出子彈,生死之際號兵大喊:我來指揮

全連只剩7人,槍管發燙打不出子彈,生死之際號兵大喊:我來指揮
所謂張飛當陽橋頭一喝,震退曹操數十萬大軍,體現了個人英雄主義,但其中更多的是藝術加工的結果. 特別是到了現代,個人英雄勇武並不足以以一敵眾了,現代武器的加持下使得個人之間的差距無限被抹平. 但在我國的 ...

14秒破百,這輛售價37萬的電動車開四年只剩6萬,買它圖啥?

14秒破百,這輛售價37萬的電動車開四年只剩6萬,買它圖啥?
哈嘍,大家好!檢車家又和大家見面了,我是檢車家最具喜劇精神的檢車技師,因為參演了檢車家的年度大戲,十分榮幸地獲得了影帝的稱號,大家可以叫我影帝!我不僅僅是一個修過車的二手車檢測師,更是檢車家行走的表情 ...

石油名城變“鬼城”,曾居住10萬人,現只剩斷瓦殘垣

石油名城變“鬼城”,曾居住10萬人,現只剩斷瓦殘垣
每個人在選擇旅遊的目的地時,總會有不同的考量,往往會因為當地的氣候.政策以及其他原因而變化,但總得來說大部分人在外出旅遊時都會比較偏愛去一些乾淨的地方,能欣賞到美麗的風景是最好不過的. 雖然大多數人旅 ...

農村小夥用10年時間辛苦存了80多萬,取錢的時候發現只剩50元了

農村小夥用10年時間辛苦存了80多萬,取錢的時候發現只剩50元了
陳先生來自於農村,從小家裡比較窮,為了減輕家裡的負擔,他高中畢業後就出來打工了.為了早日娶上媳婦,他拼命掙錢,7年後他在縣城買了一套房子,還攢了10萬元. 後來,他經人介紹認識了隔壁村的小麗,小麗比他 ...

1981年,74歲的蕭克回鄉來到蕭亮家,蕭克感嘆:蕭家只剩我一人了

1981年,74歲的蕭克回鄉來到蕭亮家,蕭克感嘆:蕭家只剩我一人了
從北伐戰爭到南昌起義,再到井岡山時期保衛中央蘇區的鬥爭,再到後來的抗日戰爭與解放戰爭,蕭克的軍旅生涯幾乎涵蓋了我黨我軍從成立之初開始的每一個重要的時期. 25歲任軍長,27歲率領紅六軍團先遣西征,拉開 ...

8月SUV銷量TOP15:自主力壓合資,大眾只剩獨苗,奇駿跌出榜外

8月SUV銷量TOP15:自主力壓合資,大眾只剩獨苗,奇駿跌出榜外
據乘聯會在近日釋出的08月狹義乘用車市場零售統計資料顯示,國內車市受汽車庫存水平下降.晶片供應短缺等因素影響仍呈現出較明顯的下降趨勢,145.3萬輛的成績較去年同期同比下降了14.7%,而較07月也有 ...

提前被淘汰?遼寧19分慘敗或出局 全運出線只剩理論性可能

提前被淘汰?遼寧19分慘敗或出局 全運出線只剩理論性可能
北京時間9月19日,U19男籃全運會小組賽繼續進行,遼寧隊迎戰浙江隊.遼寧隊最終以70-89慘敗給浙江隊,遭遇兩連敗.在輸給浙江隊以後,遼寧隊目前的戰績為0勝2負,基本已提前被淘汰出局了,晉級半決賽只 ...

連續戲耍湖人,因70萬美元走上不歸路!現在只剩湖人能拯救你了

連續戲耍湖人,因70萬美元走上不歸路!現在只剩湖人能拯救你了
戴維斯大婚,老詹.威少.包括考辛斯都現身婚禮,為戴維斯夫婦送上祝福.如今已經到九月中下旬,NBA球隊新賽季訓練營即將開啟,各支球隊補強也基本完畢,但現在自由市場上還有不少球員,比如考辛斯,比如馬修斯, ...

這5種花最怕冷,降溫要搬進屋,不然只剩盆
進入10月份後,氣溫降得嗖嗖的,全國很多地區,最低溫度都降到了10度以下,各位花友們在給自己添衣加襖時,千萬可別忘了自家的花花草草.特別是家裡有養以下這5種花的,假若你還放在室外的,就趕緊給搬回室內吧 ...

倖存者回憶集中營生活:被蝨子咬死,被抽血抽死,2萬人只剩2千人

倖存者回憶集中營生活:被蝨子咬死,被抽血抽死,2萬人只剩2千人
前言 抗日戰爭期間,在大批抗日誌士血灑戰場.以身殉國的同時,也有大批的抗日誌士被抓後送進了戰俘營,也就是我們常說的集中營或者是勞工營,最後被虐待致死. 對於所有的戰俘而言,進入了集中營就相當於一個漫長 ...

現實版地心引力,203處故障的飛船直落地球,全身只剩一塊腿骨

現實版地心引力,203處故障的飛船直落地球,全身只剩一塊腿骨
墜毀的聯盟1號飛船 人們總說只有第一的那個人才會被記住,比如第一位進入太空的宇航員加加林.第一個踏上月球的宇航員阿姆斯特朗.中國第一位進入太空的宇航員楊利偉,但是好像沒有人記得第一位為航天事業犧牲的宇 ...

7年22款魅藍手機,巔峰到低谷再到迴歸,青年良品只剩最後一張牌

7年22款魅藍手機,巔峰到低谷再到迴歸,青年良品只剩最後一張牌
在魅藍誕生之前,一家與魅族相愛相殺的手機廠商有了很大的變動,2013年7月,小米宣佈了紅米的存在,799你可以得到4.7寸720P"超清大屏"手機,處理搭載了MT6589T四核處理 ...

考拉快滅絕了?澳洲野外考拉三年狂少30%,只剩3萬多隻了

考拉快滅絕了?澳洲野外考拉三年狂少30%,只剩3萬多隻了
生活在澳大利亞樹林裡的考拉,不僅是珍貴的原始樹棲動物,也是澳洲的國寶. 它們在這片土地上的居住歷史比人類要長得多. 它們經常靠著一副憨厚的樣子而俘獲不少澳洲人民的心,不過它們日常可謂是十分佛系,一天2 ...

糾結:只剩一樓和頂樓,買哪個更好?不妨先聽聽過來人的親身感受

糾結:只剩一樓和頂樓,買哪個更好?不妨先聽聽過來人的親身感受
隨著房地產調控的不斷深入,不少城市的房價都出現了深度調整,再加上買漲不買跌的固有心態,絕大多數購房者都推遲了買房的計劃,選擇了深度觀望.面對這種情況,最近一段時間,不少房企都透過推出特價房來吸引購房者 ...

日本40歲主婦斷舍離上癮,家裡沙發桌子全都扔掉,只剩3把椅子?

日本40歲主婦斷舍離上癮,家裡沙發桌子全都扔掉,只剩3把椅子?
斷舍離是這幾年很多極簡人士提倡的一種生活方式,定期把家裡沒用的東西扔掉,脫離對物品的執著,讓個人生活更精簡舒適. 斷舍離本來是一種生活態度,無可厚非.但凡事最怕過度,一旦上癮,反而會適得其反. 日本主 ...

北京積分落戶:你的路還長,我只剩3次機會

北京積分落戶:你的路還長,我只剩3次機會
有人戲稱:北京積分落戶相當於烏鴉嘴裡的肉,能遠遠看得到,但吃不吃得到那就不一定了! 有這種說法的主要原因是北京積分落戶沒有劃固定的分數線,分數線年年不同年年漲.分數高低不是官方說了算的,是每年十幾萬的 ...

他用7發手槍子彈與敵周旋6天,死後遺體被封入水泥,只剩一隻頭骨

他用7發手槍子彈與敵周旋6天,死後遺體被封入水泥,只剩一隻頭骨
相信大家都看過我是特種兵這部電視作品吧,在這部作品的劇情中有很多令人匪夷所思的鏡頭.這些特種兵在戰場上英勇無畏的精神,以及他們吃苦耐勞的毅力,簡直令人佩服的五體投地. 在現實生活中真正存在這樣的將士嗎 ...