Klang介紹

Klang

stock K-line language

Klang 是Kline語言,即股票語言,支持方便快捷的股票編程,可以輕松搞定股票公式

是股票編程和量化交易的必備工具

Klang 最大的亮點(diǎn)是支持中文編程,可以看最后的完整例子

在線試用

  • 內(nèi)置中文編程公式 你可以在線體驗(yàn) Klang 編程, 無需安裝,網(wǎng)站內(nèi)置了多個(gè)選股公式 Online

Klang 是股票K線形態(tài)語言,基于 python3

  • 語言解釋器采用 python的 ply庫绘雁,他采用了flex,yacc語法的實(shí)現(xiàn)
  • 股票數(shù)據(jù)來源 baostock,zhanluejia
  • 支持 同花順援所、通達(dá)信庐舟、文華財(cái)經(jīng)等的公式, 感謝funcat 移植到了 Python 版本
  • 支持結(jié)構(gòu)形態(tài) 感謝talib
  • Klang 語言是基于Python語法拓展了部分自己的語法,并且編寫了快捷的股票公式
  • 支持網(wǎng)頁直接使用,交互方便
  • 支持中文編程,一看就懂

install

  • 安裝過程中遇到talib錯(cuò)誤住拭,需要搜索talib源代碼解決
git clone https://github.com/asmcos/Klang
cd Klang
pip3 install -r requirements.txt 
python3 setup.py install

應(yīng)用示例 python 版本

  • 第一次會(huì)下載數(shù)據(jù),預(yù)計(jì)需要幾分鐘
from Klang import *

C/C[1]

以上代碼就快捷的計(jì)算了今日收盤價(jià)/昨日收盤價(jià) 默認(rèn)計(jì)算第一個(gè)股票 sh.600000 今日收盤價(jià)挪略,更新時(shí)間為下午5點(diǎn)左右

設(shè)置當(dāng)前股票 'sh.601012','sz.000100'

Kl.code('sh.601012')

你也可以設(shè)置你想要的股票code

設(shè)置時(shí)間,周期默認(rèn)是 2021-01-01開始

  • 默認(rèn)數(shù)據(jù)是日K
Kl.date(start='2021-04-02',end='2021-05-01')

顯示收盤價(jià)

print(C.data) #顯示已經(jīng)下載周期的所有收盤價(jià)
print(O.data) #顯示所有周日的開盤價(jià)

收盤價(jià)漲幅

print((C-C[1])/C[1]) #當(dāng)前周期的收盤 比上一個(gè)周一的收盤價(jià)漲跌比率

REF 和通達(dá)信兼容滔岳,獲取之前周期的價(jià)格

REF(C,5) # 5周期前的收盤價(jià)杠娱,5日前收盤價(jià)

同時(shí)實(shí)現(xiàn)了MA,SMA,HHV,LLV,ABS等

Klang 語言(K浪)

  • testparse.py 代碼片段
from Klang.lang import kparser,setPY,Kexec

# Klang和python的橋梁,支持函數(shù),變量共享
# 具體使用方法 參見 testparse.py

def getpyglobals(name):
    return globals().get(name)

def setpyglobals(name,val):    
    globals()[name]=val

setPY(getpyglobals,setpyglobals) 

執(zhí)行 K語言語句

  • 賦值
pi = 3.14 #python
Kexec("ABCD=pi+1;") #調(diào)用K語言執(zhí)行澈蟆,執(zhí)行后K變量共享給了python

調(diào)用 Kexec執(zhí)行Klang語法墨辛,Kexec參數(shù)里穿的字符串語法遵守Klang語法規(guī)則

執(zhí)行一段代碼

  • 詳細(xì)例子參見 testparse.py
  • 這里我們定制了一段kloop...endp卓研,表示循環(huán)計(jì)算所有的A股
testblock=\
"""
kloop
ret = CROSS(C,MA(C,60))
ma5 := MA(C,5)
ma10 = MA(C,10)
ma20 = MA(C,20)
ma60 = MA(C,60)
ret1 = (C - C[1])/C[1]
ret2 = (C - C[1])/C[1] > 0.05
info = getstockinfo(0)
if ma60[-1] < ma20[-1] and ma20[-1] < ma10[-1] and ma10[-1] < ma5[-1] and ret2 :
    print(info,ret1*100)
endp
print("計(jì)算完成")
"""

Kexec(testblock)

支持功能列表

  • 逐步兼容通達(dá)信公式趴俘,C,MA,CROSS
  • 兼容 := 賦值語法
  • 支持兼容 python函數(shù),getstockinfo等 getstockinfo是在python里面自定義的函數(shù)
  • kloop,endp 是自定義語法,會(huì)遍歷整個(gè)A股的股票奏赘,

examples

  • 使用了網(wǎng)頁+websocket server模式
  • server里調(diào)用 Kexec執(zhí)行 所有的輸入
  • 默認(rèn)的輸入會(huì)掃描所有的A股4000多只股票
  • 計(jì)算結(jié)果回傳到網(wǎng)頁界面顯示
python3 wsserver.py

瀏覽 online.html 即可運(yùn)算公式了

支持中文編程


        漲停 = 9.9
        今日收盤 = C
        昨日收盤 = C[1]
        日期范圍 = date
        顯示 = DISPLAY
        ###############################
        # 參數(shù)漲停,表示漲幅的幅度
        # 以上為參數(shù)的值可以修改
        # 日期范圍('2021-01-01','2021-06-25')
        ###############################

        實(shí)際漲幅 = (今日收盤-昨日收盤) / 昨日收盤
        實(shí)際漲幅 = 實(shí)際漲幅 * 100
        if 實(shí)際漲幅 > 漲停:
            顯示(實(shí)際漲幅)
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末寥闪,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子磨淌,更是在濱河造成了極大的恐慌疲憋,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,734評(píng)論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件梁只,死亡現(xiàn)場(chǎng)離奇詭異缚柳,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)搪锣,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,931評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門秋忙,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人构舟,你說我怎么就攤上這事灰追。” “怎么了狗超?”我有些...
    開封第一講書人閱讀 164,133評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵弹澎,是天一觀的道長。 經(jīng)常有香客問我努咐,道長苦蒿,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,532評(píng)論 1 293
  • 正文 為了忘掉前任渗稍,我火速辦了婚禮佩迟,結(jié)果婚禮上溃肪,老公的妹妹穿的比我還像新娘。我一直安慰自己音五,他們只是感情好惫撰,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,585評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著躺涝,像睡著了一般厨钻。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上坚嗜,一...
    開封第一講書人閱讀 51,462評(píng)論 1 302
  • 那天夯膀,我揣著相機(jī)與錄音,去河邊找鬼苍蔬。 笑死诱建,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的碟绑。 我是一名探鬼主播俺猿,決...
    沈念sama閱讀 40,262評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼格仲!你這毒婦竟也來了押袍?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,153評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤凯肋,失蹤者是張志新(化名)和其女友劉穎谊惭,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體侮东,經(jīng)...
    沈念sama閱讀 45,587評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡圈盔,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,792評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了悄雅。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片驱敲。...
    茶點(diǎn)故事閱讀 39,919評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖煤伟,靈堂內(nèi)的尸體忽然破棺而出癌佩,到底是詐尸還是另有隱情,我是刑警寧澤便锨,帶...
    沈念sama閱讀 35,635評(píng)論 5 345
  • 正文 年R本政府宣布围辙,位于F島的核電站,受9級(jí)特大地震影響放案,放射性物質(zhì)發(fā)生泄漏姚建。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,237評(píng)論 3 329
  • 文/蒙蒙 一吱殉、第九天 我趴在偏房一處隱蔽的房頂上張望掸冤。 院中可真熱鬧厘托,春花似錦、人聲如沸稿湿。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,855評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽饺藤。三九已至包斑,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間涕俗,已是汗流浹背罗丰。 一陣腳步聲響...
    開封第一講書人閱讀 32,983評(píng)論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留再姑,地道東北人萌抵。 一個(gè)月前我還...
    沈念sama閱讀 48,048評(píng)論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像元镀,于是被迫代替她去往敵國和親绍填。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,864評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容