<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          今年,我最成功的一筆投資!

          共 5996字,需瀏覽 12分鐘

           ·

          2021-12-29 13:25

          大家好,我是 Jack。

          小伙伴們期盼已久的量化交易教程,今天它來了!

          有不少小伙伴,一直很關心的我量化交易的實戰(zhàn)情況,經(jīng)常會被問到:5 萬元,現(xiàn)在賺了多少?

          這里統(tǒng)一回復下,目前浮盈 6%。

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

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

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

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

          回顧了自己的這一年,收獲良多,我學到了很多新技術(shù)。

          今天,我們繼續(xù)聊量化交易,上兩期教程沒看的小伙伴,可以看這里:

          https://github.com/Jack-Cherish/quantitative

          或者在公眾號的精選文章->量化交易的欄目里查看往期教程。


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

          • 炒股數(shù)據(jù)獲取
          • 選股& 擇時策略
          • 交易系統(tǒng)

          對于一些低頻的交易策略,甚至都用不上交易系統(tǒng),手動操作都行。

          Udata

          一個穩(wěn)定的炒股數(shù)據(jù)獲取接口很重要,可以自己寫爬蟲爬數(shù)據(jù),但這樣太不穩(wěn)定。

          今天給大家推薦一個好用的 API 接口:

          https://udata.hs.net

          Udata 大牌子,是深耕金融領域 30 年的恒生電子推出的金融數(shù)據(jù)社區(qū)。

          恒生電子大家應該都聽過,近千億市值的大公司,用數(shù)據(jù)這種事,找這類背景好的社區(qū)準沒錯。

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

          Udata 安裝

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

          首先要搭建一個 Python 的開發(fā)環(huán)境,Python 開發(fā)環(huán)境不會搭建的,可以看我之前發(fā)布的一篇教程:

          一勞永逸的 Python 環(huán)境搭建方法

          Udata 可以使用 pip 安裝。

          pip?install?hs_udata

          這樣就表明安裝好了。

          然后注冊個 Udata 賬戶,訂閱一個體驗套餐。各個社區(qū)都是一樣的,都有免費的體驗套餐給初學者使用。

          注冊并訂閱號后,獲取 token。

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

          打開鏈接,就能看到 token 的獲取方式,直接復制即可。

          然后使用如下代碼,就可以獲取數(shù)據(jù)了。

          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')
          ????#?獲取?股票列表數(shù)據(jù),返回格式為?dataframe????
          ????data?=?stock_list()
          ????#?打印數(shù)據(jù)前?5?行
          ????print(data.head())

          有正確的數(shù)據(jù)結(jié)果了,那恭喜你,配置成功!

          量化分析

          數(shù)據(jù)搞定了,我們就可以利用這個 API 接口,做一些策略。

          無論是選股,還是擇時交易,都可以使用這個 API 接口的數(shù)據(jù)進行。

          Udata 的 API 文檔寫的很全面:

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

          應有盡有:

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

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

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

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

          pip?install?pyecharts

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

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

          我們結(jié)合 Udata 的數(shù)據(jù)獲取 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?天的數(shù)據(jù)
          ????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]
          ????????#?去掉非交易日數(shù)據(jù)
          ????????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 文件,就可以看到繪制效果了。

          可能有小伙伴會問,這都是炒股軟件現(xiàn)成的,為什么要自己繪制?

          只有親自寫代碼后,你才能深刻認識到每個數(shù)據(jù)背后所代表的含義。

          這是一個很好的,幫助我們學習的過程。

          更重要的是,等我們熟練之后,可以根據(jù)自己的各種需求,定制化自己獨家炒股界面。

          你可以監(jiān)控自己想要監(jiān)控的所有信息。

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

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

          再比如,我們可以使用數(shù)據(jù),做一些自己不了解的分析。舉個非常簡單的例子,你知道 A 股的行業(yè)分布情況嗎?

          幾行代碼就可以搞定。

          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):
          ????????#?獲取股票行業(yè)信息
          ????????data?=?udata.industry_category(en_prod_code?=?code)
          ????????industry_name_csrc?=?data['industry_name_csrc'][0].split("-")[0]
          ????????#?print(industry_name_csrc)
          ????????#?統(tǒng)計行業(yè)數(shù)量
          ????????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?股股票行業(yè)分布"),
          ????????????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 股股票的行業(yè)分布情況。

          制造業(yè)半壁江山啊!

          除了這種簡單的行業(yè)統(tǒng)計,我們還可以統(tǒng)計每日的龍虎榜情況,監(jiān)控股東持股情況,資金流向等。

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

          根據(jù)自己的需求,來個私人定制,搭建自己的交易體系。

          當然了,師傅領進門,修行看個人。

          能寫的內(nèi)容太多了,篇幅有限,今天先教一些基礎的玩法。

          這個系列教程,還會繼續(xù)出,跟著 Jack 學技術(shù)吧!

          哦對了,?Udata 還有小程序社區(qū),社區(qū)也有自己的技術(shù)教程,有很多干貨文章和源代碼。

          我在里面也看了一些文章,社區(qū)的內(nèi)容還是很豐富的,有很多學習量化交易的小伙伴們交流,也有一些大佬做技術(shù)分享。



          絮叨

          最后再多說兩句,一直有不少小伙伴問我,賣系統(tǒng)不?賣源碼不?賣服務不?

          這樣的詢問,自從發(fā)了那期量化炒股的視頻后,就沒有斷過,這是最近一次的這類對話。

          說實話,還是建議自己學技術(shù),自己寫策略,那多香啊!

          真的,一切并沒有那么難,日積月累,慢慢學,學習用代碼賺錢的過程,是一件很有趣的事情。

          我是 Jack,我們下期見~

          PS:Udata 社區(qū)的鏈接,為了方便大家查看,我放在了左下角的閱讀原文里,點擊即可查看。

          ·················END·················
          瀏覽 58
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  三级久久久 | 亚洲资源站 | 狠狠干天天操 | 狠狠干奇米 | 国产精品久久久久久成人 |