mirror of
https://gitee.com/fasiondog/hikyuu.git
synced 2024-11-29 18:39:10 +08:00
release 1.2.3; 更新示例,修正 EMA 引出错误
This commit is contained in:
parent
0b583c4667
commit
4731df72b0
BIN
docs/source/_static/indparam.png
Normal file
BIN
docs/source/_static/indparam.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 14 KiB |
BIN
docs/source/_static/portfolio.png
Normal file
BIN
docs/source/_static/portfolio.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 41 KiB |
@ -1,11 +1,75 @@
|
||||
版本发布说明
|
||||
===============
|
||||
=======================
|
||||
|
||||
1.2.2 (待发布)
|
||||
1.2.3 (待发布)
|
||||
-------------------------
|
||||
|
||||
1. 指标支持动态参数
|
||||
|
||||
1.2.1
|
||||
在通道信等证券行情软件中,其技术指标中的窗口参数通常支持整数,也支持使用指标,如::
|
||||
|
||||
T1:=HHVBARS(H,120); {120内的最高点距今天的天数}
|
||||
L120:=LLV(L,T1+1); {120内的最高点至今,这个区间的最低点}
|
||||
|
||||
现在,在 Hikyuu 中,也可以使用指标作为参数::
|
||||
|
||||
T1 = HHVBARS(H, 120)
|
||||
L120 = LLV(L, T1+1)
|
||||
L120.set_context(k)
|
||||
L120.plot()
|
||||
|
||||
.. figure:: _static/indparam.png
|
||||
|
||||
**注意事项**
|
||||
|
||||
由于无法区分 Indicator(ind) 形式时,ind 究竟是指标参数还是待计算的输出数据,此时如果希望 ind 作为参数,需要通过 IndParam 进行显示指定,如:EMA(IndParam(ind))。
|
||||
|
||||
最佳的的方式,则是通过指定参数名,来明确说明使用的是参数::
|
||||
|
||||
x = EMA(c) # 以收盘价作为计算的输入
|
||||
y = EMA(IndParam(c)) # 以收盘价作为 n 参数
|
||||
z = EMA(n=c) # 以收盘价作为参数 n
|
||||
|
||||
|
||||
|
||||
2. 完善 PF、AF、SE
|
||||
|
||||
现在可以正常使用资产组合。::
|
||||
|
||||
# 创建一个系统策略
|
||||
my_mm = MM_FixedCount(100)
|
||||
my_sg = my_sg = SG_Flex(EMA(n=5), slow_n=10)
|
||||
my_sys = SYS_Simple(sg=my_sg, mm=my_mm)
|
||||
|
||||
# 创建一个选择算法,用于在每日选定交易系统
|
||||
# 此处是固定选择器,即每日选出的都是指定的交易系统
|
||||
my_se = SE_Fixed([s for s in blocka if s.valid], my_sys)
|
||||
|
||||
# 创建一个资产分配器,用于确定如何在选定的交易系统中进行资产分配
|
||||
# 此处创建的是一个等比例分配资产的分配器,即按相同比例在选出的系统中进行资金分配
|
||||
my_af = AF_EqualWeight()
|
||||
|
||||
# 创建资产组合
|
||||
# 创建一个从2001年1月1日开始的账户,初始资金200万元。这里由于使用的等比例分配器,意味着将账户剩余资金在所有选中的系统中平均分配,
|
||||
# 如果初始资金过小,将导致每个系统都没有充足的资金完成交易。
|
||||
my_tm = crtTM(Datetime(200101010000), 2000000)
|
||||
my_pf = PF_Simple(tm=my_tm, af=my_af, se=my_se)
|
||||
|
||||
# 运行投资组合
|
||||
q = Query(-500)
|
||||
%time my_pf.run(Query(-500))
|
||||
|
||||
x = my_tm.get_funds_curve(sm.get_trading_calendar(q))
|
||||
PRICELIST(x).plot()
|
||||
|
||||
.. figure:: _static/portfolio.png
|
||||
|
||||
3. 修复fedora 34编译找不到路径报错,waning 提示
|
||||
4. fixed mysql 升级脚本错误
|
||||
5. fixed 复权后计算的净收益不对,并在使用前复权数据进行回测时给出警告(前复权回测属于未来函数)
|
||||
|
||||
|
||||
1.2.1 - 2022年2月2日
|
||||
-------------------------
|
||||
|
||||
1. 修复 importdata 无法导入的问题
|
||||
@ -17,7 +81,7 @@
|
||||
7. 修改其他文档帮助错误
|
||||
|
||||
|
||||
1.2.0
|
||||
1.2.0 - 2022年1月11日
|
||||
-------------------------
|
||||
|
||||
1. HikyuuTdx 执行导入时自动保存配置,避免第一次使用 hikyuu 必须退出先退出 Hikyuutdx 的问题
|
||||
@ -32,7 +96,7 @@
|
||||
10. 优化 HikyuuTDX GUI控制台日志,捕获子进程日志输出
|
||||
|
||||
|
||||
1.1.9
|
||||
1.1.9 - 2021年11月11日
|
||||
-------------------------
|
||||
|
||||
1. 补充科创板
|
||||
@ -46,13 +110,13 @@
|
||||
9. 取消编译时指定的AVX指令集,防止不支持的CPU架构
|
||||
|
||||
|
||||
1.1.8
|
||||
1.1.8 - 2021年2月27日
|
||||
-------------------------
|
||||
1. HikyuuTDX 切换mysql导入时错误提示目录不存在
|
||||
2. tdx本地导入修复,并支持导入MySQL
|
||||
|
||||
|
||||
1.1.7
|
||||
1.1.7 - 2021年2月13日
|
||||
-------------------------
|
||||
|
||||
1. 更新examples/notebook相关示例
|
||||
|
@ -30,7 +30,8 @@
|
||||
"* [006 TradeManager应用](006-TradeManager.ipynb?flush_cache=True)\n",
|
||||
"* [007 系统策略演示](007-SystemDetails.ipynb?flush_cache=True)\n",
|
||||
"* [008 序列化说明](008-Pickle.ipynb?flush_cache=True)\n",
|
||||
"* [009_获取实时日线数据](009-RealData.ipynb?flush_cache=True)"
|
||||
"* [009_获取实时日线数据](009-RealData.ipynb?flush_cache=True)\n",
|
||||
"* [010_资产组合](010-Portfolio.ipynb?flush_cache=True)"
|
||||
]
|
||||
},
|
||||
{
|
||||
@ -53,7 +54,7 @@
|
||||
],
|
||||
"metadata": {
|
||||
"kernelspec": {
|
||||
"display_name": "Python 3",
|
||||
"display_name": "Python 3 (ipykernel)",
|
||||
"language": "python",
|
||||
"name": "python3"
|
||||
},
|
||||
@ -67,7 +68,7 @@
|
||||
"name": "python",
|
||||
"nbconvert_exporter": "python",
|
||||
"pygments_lexer": "ipython3",
|
||||
"version": "3.8.3"
|
||||
"version": "3.9.7"
|
||||
}
|
||||
},
|
||||
"nbformat": 4,
|
||||
|
File diff suppressed because one or more lines are too long
160
hikyuu/examples/notebook/010-Portfolio.ipynb
Normal file
160
hikyuu/examples/notebook/010-Portfolio.ipynb
Normal file
File diff suppressed because one or more lines are too long
@ -519,9 +519,9 @@ void export_Indicator_build_in() {
|
||||
|
||||
def("EMA", EMA_1, (arg("n") = 22));
|
||||
def("EMA", EMA_2, (arg("n")));
|
||||
def("EMA", EMA_3, (arg("data"), arg("n")));
|
||||
def("EMA", EMA_4, (arg("data"), arg("n")));
|
||||
def("EMA", EMA_5, (arg("data"), arg("n")));
|
||||
def("EMA", EMA_3, (arg("data"), arg("n") = 22), R"(EMA([data, n=22])
|
||||
def("EMA", EMA_5, (arg("data"), arg("n") = 22), R"(EMA([data, n=22])
|
||||
|
||||
指数移动平均线(Exponential Moving Average)
|
||||
|
||||
|
@ -101,7 +101,7 @@ setup(
|
||||
# 3 - Alpha
|
||||
# 4 - Beta
|
||||
# 5 - Production/Stable
|
||||
'Development Status :: 3 - Alpha',
|
||||
'Development Status :: 4 - Beta',
|
||||
|
||||
# Indicate who your project is intended for
|
||||
'Intended Audience :: Developers',
|
||||
|
Loading…
Reference in New Issue
Block a user