Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
zengbin93
czsc
提交
9817a2e2
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 搜索 >>
提交
9817a2e2
编写于
9月 23, 2020
作者:
Z
zengbin93
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
0.5.6 新增单因子分析
上级
644d01d0
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
72 addition
and
0 deletion
+72
-0
czsc/cobra/__init__.py
czsc/cobra/__init__.py
+0
-0
czsc/cobra/factor_analyst.py
czsc/cobra/factor_analyst.py
+56
-0
docs/单因子分析工具开发文档.md
docs/单因子分析工具开发文档.md
+16
-0
未找到文件。
czsc/cobra/__init__.py
0 → 100644
浏览文件 @
9817a2e2
czsc/cobra/factor_analyst.py
0 → 100644
浏览文件 @
9817a2e2
# coding: utf-8
from
typing
import
List
def
cal_nbar_percentile
(
k
:
dict
,
kn
:
List
[
dict
],
n
:
int
)
->
float
:
"""计算 N 周期区间百分位
:param k: dict
信号出现时的 K 线
:param kn: List[dict]
信号出现后的 N 根 K 线
:param n: int
周期数 N
:return: float
"""
assert
len
(
kn
)
==
n
,
"计算 {} 周期区间百分位时传入的 kn 数量为 {}"
.
format
(
n
,
len
(
kn
))
c
=
k
[
'close'
]
min_p
=
min
([
x
[
'low'
]
for
x
in
kn
])
max_p
=
max
([
x
[
'high'
]
for
x
in
kn
])
if
max_p
==
min_p
:
return
0
else
:
percentile
=
round
((
c
-
min_p
)
/
(
max_p
-
min_p
)
*
100
,
2
)
return
percentile
def
cal_nbar_income
(
k
:
dict
,
kn
:
List
[
dict
],
n
:
int
)
->
float
:
"""计算 N 周期区间收益
:param k: dict
信号出现时的 K 线
:param kn: List[dict]
信号出现后的 N 根 K 线
:param n: int
周期数 N
:return: float
"""
assert
len
(
kn
)
==
n
,
"计算 {} 周期区间收益时传入的 kn 数量为 {}"
.
format
(
n
,
len
(
kn
))
c
=
k
[
'close'
]
last_c
=
kn
[
-
1
][
'close'
]
income
=
round
((
last_c
-
c
)
/
c
*
100
,
2
)
return
income
docs/单因子分析工具开发文档.md
0 → 100644
浏览文件 @
9817a2e2
## 单因子分析工具开发文档
单因子分析工具的主要功能是,输入一组计算好的因子,分析这些因子的历史表现。
1.
纵向分析因子在某个标的上的历史表现;
2.
横向分析因子在某个时点的全市场表现。
### 因子输入标准
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录