python_大智慧SAR指标编写

简介: python_大智慧SAR指标编写
import pandas as pd
import numpy as np
import datetime
import time
#获取数据
df=pd.read_csv('C:/Users/HXWD/Desktop/000001.csv',encoding='gbk')
df.columns=['date','code','name','close','high','low','open','preclose',
'change','change_per','volume','amt']
df=df[['date','open','high','low','close','volume','amt']]
df.head()
def get_SAR(df,N=10,step=2,maxp=20):
    sr_value=[]
    sr_up=[]
    ep_up=[]
    af_up=[]
    sr_down=[]
    ep_down=[]
    af_down=[]
    for i in range(len(df)):
        if i >=N:
            if len(sr_up)==0 and len(sr_down)==0:
                if df.ix[i,'close']>df.ix[0,'close']:
                     #标记为上涨趋势
                    sr0=df['low'][0:i].min()
                    af0=0.02
                    ep0=df.ix[i,'high']
                    sr_up.append(sr0)
                    ep_up.append(ep0)
                    af_up.append(af0)
                    sr_value.append(sr0)
                if df.ix[i,'close']<=df.ix[0,'close']:
                    #标记为上涨趋势
                    sr0=df['high'][0:i].max()
                    af0=0.02
                    ep0=df.ix[i,'high']
                    sr_down.append(sr0)
                    ep_down.append(ep0)
                    af_down.append(af0)
                    sr_value.append(sr0)
            if len(sr_up)>0:
                if df.ix[i-1,'low']>sr_up[-1]:
                   sr0=sr_up[-1]
                   ep0=df['high'][-len(sr_up):].max()
                   if df.ix[i,'high']>df['high'][-(len(sr_up)-1):].max() :
                      af0=af_up[-1]+0.02
                   if df.ix[i,'high']<=df['high'][-(len(sr_up)-1):].max() :
                      af0=af_up[-1]
                   sr=sr0+af0*(ep0-sr0)
                   sr_up.append(sr)
                   ep_up.append(ep0)
                   af_up.append(af0)
                   sr_value.append(sr)
                   print('上涨sr0={},ep0={},af0={},sr={}'.format(sr0,ep0,af0,sr))
                if df.ix[i-1,'low']<=sr_up[-1]:
                   ep0=df['high'][-len(sr_up):].max()
                   sr0=ep0
                   af0=0.02
                   sr_down.append(sr0)
                   ep_down.append(ep0)
                   af_down.append(af0)
                   sr_value.append(sr0)
                   sr_up=[]
                   ep_up=[]
                   af_up=[]
            if len(sr_down)>0:
                if df.ix[i-1,'high']<sr_down[-1]:
                    sr0=sr_down[-1]
                    ep0=df['low'][-len(sr_down):].max()
                    if df.ix[i,'low']<df['low'][-(len(sr_down)-1):].max() :
                      af0=af_down[-1]+0.02
                    if df.ix[i,'low']>=df['low'][-(len(sr_down)-1):].max() :
                      af0=af_down[-1]
                    sr=sr0+af0*(ep0-sr0)
                    sr_down.append(sr)
                    ep_down.append(ep0)
                    af_down.append(af0)
                    sr_value.append(sr)
                    print('下跌sr0={},ep0={},af0={},sr={}'.format(sr0,ep0,af0,sr))
                if df.ix[i-1,'high']>=sr_down[-1]:
                   ep0=df['low'][-len(sr_up):].max()
                   sr0=ep0
                   af0=0.02
                   sr_up.append(sr0)
                   ep_up.append(ep0)
                   af_up.append(af0)
                   sr_value.append(sr0)
                   sr_down=[]
                   ep_down=[]
                   af_down=[]
    return sr_value
sar=get_SAR(df)

#测试下来看,似乎中间逻辑有问题,有时间进一步修改

目录
相关文章
|
7月前
|
机器学习/深度学习 算法 Python
【Python机器学习】分类算法任务、分类模型评价指标详解(图文解释)
【Python机器学习】分类算法任务、分类模型评价指标详解(图文解释)
218 0
|
4月前
|
数据采集 算法 数据可视化
基于Python的k-means聚类分析算法的实现与应用,可以用在电商评论、招聘信息等各个领域的文本聚类及指标聚类,效果很好
本文介绍了基于Python实现的k-means聚类分析算法,并通过微博考研话题的数据清洗、聚类数量评估、聚类分析实现与结果可视化等步骤,展示了该算法在文本聚类领域的应用效果。
152 1
|
2月前
|
机器学习/深度学习 数据挖掘 Serverless
手把手教你全面评估机器学习模型性能:从选择正确评价指标到使用Python与Scikit-learn进行实战演练的详细指南
【10月更文挑战第10天】评估机器学习模型性能是开发流程的关键,涉及准确性、可解释性、运行速度等多方面考量。不同任务(如分类、回归)采用不同评价指标,如准确率、F1分数、MSE等。示例代码展示了使用Scikit-learn库评估逻辑回归模型的过程,包括数据准备、模型训练、性能评估及交叉验证。
142 1
|
7月前
|
Serverless 云计算 Python
基本技术指标 Python 实现(1)
基本技术指标 Python 实现
301 3
|
7月前
|
Python
基本技术指标 Python 实现(2)
基本技术指标 Python 实现
181 1
|
7月前
|
机器学习/深度学习 算法 Python
【Python机器学习专栏】Python中的机器学习评估与度量指标
【4月更文挑战第30天】本文介绍了Python中机器学习模型的评估方法和度量指标。主要包括留出法、交叉验证和自助法等评估方法,以及准确率、精确率、召回率、F1分数、AUC-ROC曲线、MSE、RMSE和R方值等度量指标。选择合适的评估标准对于理解模型性能和适应不同任务至关重要。
209 0
|
7月前
|
Python
基本技术指标 Python 实现(4)
基本技术指标 Python 实现
107 0
|
7月前
|
项目管理 Python
基本技术指标 Python 实现(3)
基本技术指标 Python 实现
168 0
|
7月前
|
数据挖掘 Python
python数据分析——业务指标量化
业务指标量化是衡量企业运营效果的重要手段,通过具体的数据和数值,可以更加直观地了解企业的运营状况,为企业决策提供有力的数据支持。
160 1
|
7月前
|
监控 搜索推荐 数据挖掘
python数据分析——业务指标分析
业务指标分析是企业运营中不可或缺的一环,通过对各项关键指标的深入剖析,我们能够更好地了解企业的运营状况,发现潜在问题,进而制定相应的策略来优化业务流程、提升经营效率。 在业务指标分析中,我们首先要明确分析的目的和范围。是为了评估整体业务健康状况,还是针对某一具体环节进行优化?明确了目的后,我们需要收集相关的数据,这些数据可能来源于不同的业务系统和数据库,因此数据的整合和清洗也是分析过程中的重要步骤。 接下来,我们要选择合适的分析方法。比如,对于销售数据,我们可以采用时间序列分析来观察销售趋势;对于用户行为数据,我们可以使用用户画像和路径分析来洞察用户需求和行为习惯。
217 1