Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
zengbin93
czsc
提交
3ef74b0f
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 搜索 >>
提交
3ef74b0f
编写于
6月 18, 2020
作者:
Z
zengbin93
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
0.3.10 优化KlineAnalyze性能
上级
b56b4a95
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
43 addition
and
2 deletion
+43
-2
test/profile_df.py
test/profile_df.py
+43
-2
未找到文件。
test/profile_df.py
浏览文件 @
3ef74b0f
from
cobra.data.kline
import
get_kline
from
czsc
import
KlineAnalyze
import
pandas
as
pd
from
czsc.analyze
import
KlineAnalyze
from
datetime
import
datetime
,
timedelta
from
contextlib
import
closing
from
tqsdk
import
TqApi
from
tqsdk.tools
import
DataDownloader
def
use_large_df
():
symbol
=
"KQ.m@CZCE.MA"
freq
=
'5min'
file_csv
=
f
"
{
symbol
}
_kline_
{
freq
}
.csv"
start_dt
=
datetime
(
2017
,
1
,
1
,
6
,
0
,
0
)
end_dt
=
datetime
(
2020
,
5
,
1
,
6
,
0
,
0
)
freq_dur_sec
=
{
"1min"
:
60
,
'5min'
:
300
,
'30min'
:
1800
,
'D'
:
3600
*
24
}
freq_delta
=
{
"1min"
:
timedelta
(
days
=
20
),
'5min'
:
timedelta
(
days
=
100
),
'30min'
:
timedelta
(
days
=
300
),
'D'
:
timedelta
(
days
=
3000
)}
api
=
TqApi
()
k
=
DataDownloader
(
api
,
symbol_list
=
symbol
,
dur_sec
=
freq_dur_sec
[
freq
],
start_dt
=
start_dt
-
freq_delta
[
freq
],
end_dt
=
end_dt
,
csv_file_name
=
file_csv
)
with
closing
(
api
):
while
not
k
.
is_finished
():
api
.
wait_update
()
print
(
"download progress: %.2f%%"
%
k
.
get_progress
())
kline
=
pd
.
read_csv
(
file_csv
)
kline
.
columns
=
[
x
.
replace
(
symbol
+
"."
,
""
)
for
x
in
kline
.
columns
]
kline
.
rename
({
"volume"
:
"vol"
},
axis
=
1
,
inplace
=
True
)
kline
.
loc
[:,
"symbol"
]
=
symbol
kline
.
loc
[:,
"dt"
]
=
kline
[
'datetime'
].
apply
(
lambda
x
:
x
.
split
(
"."
)[
0
])
kline
=
kline
[[
'symbol'
,
'dt'
,
'open'
,
'close'
,
'high'
,
'low'
,
'vol'
]]
print
(
kline
.
shape
)
ka
=
KlineAnalyze
(
kline
)
return
ka
def
convert_to_list_v1
(
df
):
...
...
@@ -18,8 +57,10 @@ def convert_to_list_v3(df):
if
__name__
==
'__main__'
:
df
=
get_kline
(
ts_code
=
"000001.SH"
,
end_dt
=
"2020-04-28 15:00:00"
,
freq
=
'D'
,
asset
=
'I'
)
# convert_to_list_v1(df)
df
=
get_kline
(
ts_code
=
"000001.SH"
,
end_dt
=
"2020-04-28 15:00:00"
,
freq
=
'1min'
,
asset
=
'I'
)
print
(
df
.
shape
)
convert_to_list_v1
(
df
)
convert_to_list_v2
(
df
)
ka
=
use_large_df
()
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录