From 19f213a246dbb803c3a22ac0d5e411ae1d31d8ad Mon Sep 17 00:00:00 2001 From: huhu5 <58477+huhu5@user.noreply.gitee.com> Date: Fri, 8 Aug 2025 08:02:07 +0000 Subject: [PATCH 1/2] fsdf sdfsf --- sdfdf.drawio | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 sdfdf.drawio diff --git a/sdfdf.drawio b/sdfdf.drawio new file mode 100644 index 0000000..cae83f4 --- /dev/null +++ b/sdfdf.drawio @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + -- Gitee From 3129c78681e9bb92b31e5ccec9f4a763123068ba Mon Sep 17 00:00:00 2001 From: huhu5 <58477+huhu5@user.noreply.gitee.com> Date: Fri, 8 Aug 2025 08:03:07 +0000 Subject: [PATCH 2/2] sdfsdf sdf --- ZfAbsMean.py | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 ZfAbsMean.py diff --git a/ZfAbsMean.py b/ZfAbsMean.py new file mode 100644 index 0000000..77b654b --- /dev/null +++ b/ZfAbsMean.py @@ -0,0 +1,26 @@ +# -*- coding: utf-8 -*- +""" +中性策略框架 | 邢不行 | 2024分享会 +author: 邢不行 +微信: xbx6660 +""" +import numpy as np + +""" +波动因子 +""" +def signal(*args): + df = args[0] + n = args[1] + factor_name = args[2] + + df['均价'] = (df['close'] + df['high'] + df['low']) / 3 + + df['涨跌幅'] = df['均价'].pct_change() + df['振幅'] = (df['high'] - df['low']) / df['open'] + df['振幅'] = np.where(df['涨跌幅'] > 0, df['振幅'], 0) + df['振幅均值'] = df['振幅'].rolling(n, min_periods=1).mean() + + df[factor_name] = df['振幅均值'].rolling(n, min_periods=1).rank(ascending=True, pct=True) + + return df -- Gitee