Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
zengbin93
czsc
提交
74727a72
C
czsc
项目概览
zengbin93
/
czsc
通知
23
Star
2
Fork
1
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
4
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
C
czsc
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
4
Issue
4
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
74727a72
编写于
9月 20, 2020
作者:
Z
zengbin93
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
0.5.5 新增 KDJ
上级
4eef818d
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
61 addition
and
3 deletion
+61
-3
czsc/__init__.py
czsc/__init__.py
+1
-1
czsc/ta.py
czsc/ta.py
+48
-0
test/test_ta.py
test/test_ta.py
+12
-2
未找到文件。
czsc/__init__.py
浏览文件 @
74727a72
# coding: utf-8
from
.analyze
import
KlineAnalyze
,
find_zs
from
.ta
import
SMA
,
EMA
,
MACD
from
.ta
import
SMA
,
EMA
,
MACD
,
KDJ
__version__
=
"0.5.5"
__author__
=
"zengbin93"
...
...
czsc/ta.py
浏览文件 @
74727a72
...
...
@@ -71,3 +71,51 @@ def MACD(close: np.array, fastperiod=12, slowperiod=26, signalperiod=9):
return
diff
,
dea
,
macd
def
KDJ
(
close
:
np
.
array
,
high
:
np
.
array
,
low
:
np
.
array
):
"""
:param close: np.array
收盘价序列
:param high:
:param low:
:return:
"""
n
=
9
hv
=
[]
lv
=
[]
for
i
in
range
(
len
(
close
)):
if
i
<
n
:
h_
=
high
[
0
:
i
+
1
]
l_
=
low
[
0
:
i
+
1
]
else
:
h_
=
high
[
i
-
n
+
1
:
i
+
1
]
l_
=
low
[
i
-
n
+
1
:
i
+
1
]
hv
.
append
(
max
(
h_
))
lv
.
append
(
min
(
l_
))
hv
=
np
.
array
(
hv
,
dtype
=
np
.
double
)
lv
=
np
.
array
(
lv
,
dtype
=
np
.
double
)
rsv
=
np
.
where
(
hv
==
lv
,
0
,
(
close
-
lv
)
/
(
hv
-
lv
)
*
100
)
k
=
[]
d
=
[]
j
=
[]
for
i
in
range
(
len
(
rsv
)):
if
i
<
n
:
k_
=
rsv
[
i
]
d_
=
k_
else
:
k_
=
(
2
/
3
)
*
k
[
i
-
1
]
+
(
1
/
3
)
*
rsv
[
i
]
d_
=
(
2
/
3
)
*
d
[
i
-
1
]
+
(
1
/
3
)
*
k_
k
.
append
(
k_
)
d
.
append
(
d_
)
j
.
append
(
3
*
k_
-
2
*
d_
)
k
=
np
.
array
(
k
,
dtype
=
np
.
double
)
d
=
np
.
array
(
d
,
dtype
=
np
.
double
)
j
=
np
.
array
(
j
,
dtype
=
np
.
double
)
return
k
,
d
,
j
test/test_ta.py
浏览文件 @
74727a72
...
...
@@ -11,8 +11,8 @@ import czsc
warnings
.
warn
(
"czsc version is {}"
.
format
(
czsc
.
__version__
))
cur_path
=
os
.
path
.
split
(
os
.
path
.
realpath
(
__file__
))[
0
]
#
cur_path = "./test"
#
cur_path = os.path.split(os.path.realpath(__file__))[0]
cur_path
=
"./test"
file_kline
=
os
.
path
.
join
(
cur_path
,
"data/000001.SH_D.csv"
)
kline
=
pd
.
read_csv
(
file_kline
,
encoding
=
"utf-8"
)
kline
.
loc
[:,
"dt"
]
=
pd
.
to_datetime
(
kline
.
dt
)
...
...
@@ -37,3 +37,13 @@ def test_macd():
assert
round
(
dea
[
-
1
],
2
)
==
110.62
assert
round
(
dea
[
-
5
],
2
)
==
83.51
def
test_jdk
():
high
=
np
.
array
([
x
[
'high'
]
for
x
in
bars
],
dtype
=
np
.
double
)
low
=
np
.
array
([
x
[
'low'
]
for
x
in
bars
],
dtype
=
np
.
double
)
k
,
d
,
j
=
czsc
.
KDJ
(
close
,
high
,
low
)
assert
round
(
k
[
-
1
],
2
)
==
59.94
assert
round
(
d
[
-
1
],
2
)
==
80.47
assert
round
(
j
[
-
1
],
2
)
==
18.87
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录