股票定价公式.docx
- 文档编号:7583561
- 上传时间:2023-01-25
- 格式:DOCX
- 页数:8
- 大小:24.83KB
股票定价公式.docx
《股票定价公式.docx》由会员分享,可在线阅读,更多相关《股票定价公式.docx(8页珍藏版)》请在冰豆网上搜索。
股票定价公式
大家请看:
DIFF:
=EMA(CLOSE,12)-EMA(CLOSE,26);
DEA:
=EMA(DIFF,9);
MACD:
=2*(DIFF-DEA);
m1:
=macd>ref(macd,1)anddiff m1andcount(m1,10)=1andc>ma(c,55){andabs(macd)>0.2}andcount(macd<0,5)>=5 稍懂点分析家公式的朋友们一看便知,是macd绿色柱状线,由最长刚变短而给出买点的公式...... 事情是这样的: 近几天我的一个朋友经过对某只股票进行了所谓"认真观察""反复研究"得出结论: 一只股票的macd指标的绿色柱状线一但最长(这有点说不清,因为长了还可以再长,是相对的,这里大家注意到了公式中加了abs(macd)>0.2可我遗憾的告诉您,不加还好,有了这条成功率不升反降! )变短就准有一波行情.打进了****股,就等着赚钱哪! 有兴趣的朋友可对以上公式进行测试,会发现结果一般,不应具有一般意义上的操作价值,可为什么我的那个朋友却把这一所谓"规律"当成金科玉律了哪? 我觉得深究其原因,应该是人的潜意识中那个"贪"字吧.这就需要在这个市场中进行艰苦的磨练了,估计也练成了,手里的钱也练没了! 但这不等于说我们就束手无策了吗? 回头看一下开头的公式,对! 分析家----虽然它有这样或那样的不足,但编个公式简单验证一下,一个客观的,明确的尺子量完的结果就展现在我们面前了. 固执与灵活,主观与客观.用分析家公式完美的统一了.机器会在瞬间找出不合格的股票的,骨子里的"贪心"能不受一点震动吗? 一场面红耳赤的争论不复存在了...... (14)、 我编分析家公式-可用的未来数据 朋友们一看文题,就得问: "含未来数据的公式还能应用? "回答是肯定的.能! 请大家看一下的测试结果: XX搜索: 更多股票公式 1997年1月1日-2001年4月7日5天5%中价计算: 默认即(高+低+收)/3 测试股票数: 1097共发出指示: 807成功指示: 802失败指示: 5未完成指示: 0平均成功率: 99.38%,成功率达到50%的股票有: 43.2%利润1总平均: 13.93%利润1最大值: 41.84%利润1最小值: 4.55%利润2总平均: 10.12%利润2最大值: 41.84%利润2最小值: -14.16% 1997年1月1日-2001年4月7日5天5%中价计算: 收 测试股票数: 1097共发出指示: 807成功指示: 620失败指示: 187未完成指示: 0平均成功率: 76.83%,成功率达到50%的股票有: 35.5%利润1总平均: 10.47%利润1最大值: 37.23%利润1最小值: 0.57%利润2总平均: 6.20%利润2最大值: 37.23%利润2最小值: -16.85% 一旦你知道这是由于未来数据造成的就会很失望吧.不过我读了一下公式的内容发现,是可以变通使用的,而且没有未来数据了,实践效果也较好. 请看公式内容: CLOSE/OPEN>=1.099ANDBACKSET(L>REF(H,1),2) 现在要变通了......假如,所选的股票5日内没有5%的涨幅,而且今日的最低价在<第一天>收盘价附近,依公式测试结果在至少<第四天>,至多<第五天>就应赚5%,也就是说本公式仅在两日内就赚5%但这里有三个小问题需要考虑: 1.分析家软件的测试方法;2.买点;3.卖点. 首先,分析家的测试方法是依<中价计算>,在测试中中价计算应该为依<收盘价>. 其次,买价就可选在C/O>=1.099这一天的收盘了,但要在第三天用这个买价买(如果能买到的话,不防提高个1%-1.5%----少赚点吗,别太贪心了! ). 最后,卖出价请到测试结果中去找5日内最高价有几次没赚5%,即最高利润小于5%的股票有几家? 重算一下成功率: 86家最高价(利润1)小于5%共发指示807(807-86)/807=89.34%成功率高达89.34%就把这个条件定为"美好未来1"吧. 现在就简单的设想一下几个结果可能不全面,还得请网友们共同研究) 一种可能,在买价买入股票,只要在明后天的两日内把卖单埋在买价加5%的位置,就去守株待兔吧,精确点说2天赚2%(扣除印花税和佣金1.5%+买入时多给的1.5%); 二种可能,其实对这种强势股来说,买入的当天收盘就有很大可能已经涨很高了 这样的例子很多,不一一列举了,请大家用我给的公式(美好未来1)好好研究一下,有心得别忘了我; 三种可能,买入的当天,这支股票打一长上影线7-8%,两天内随不一定不上影,但上影线的一半的地方的利润也不只2%吧; 第四种可能......止损 这样一来公式转变成(美好未来1): BARSLAST(ref(c,1)/ref(o,1)>=1.099andl>ref(h,1))=1 结论: 用"原始公式"搞测试;"美好未来1"实际操作.好了,汽车上太颠簸,就写这些吧. (15)、短线RSI选股指标设计 站长按: HP朋友设计的这个指标,从短线角度胜率不俗,且分布十分均匀,有很好的实战意义! 由于此公式选出的股票涨幅不是很大,所以目标利润定为5% 首先从分析家自带的RSI开始,当股价从低位开始上涨时6日RSI 会上穿24日RSI,初始公式为: cross(rsi1,rsi3) 此时此公式所发出的指示有一部分出现在高位,甚至顶部,通 过观察,可以发现在低位发出的指示有一些共同点,即12日RSI 小于40,6日RSI小于50,并且最近5天内RSI曾低于20,所以在 公式中加入以下限制: rsi2<40andcount(rsi1<20,5)>=1andrsi1<50 经过测试(99.1.1-00.7.7),发现此公式的失败指示主要发出在 99年9-12月,此时大盘不景气,于是加入以下限制: c/ref(c,1) 以下测试条件均为20日5%(请注意目标利润为5%) ------------------------------------------------------- 99.1.1-00.7.7 测试股票数: 984 共发出指示: 250成功指示: 202失败指示: 48未完成指示: 0 平均成功率: 80.80%,成功率达到50%的股票有: 18.8% 利润1总平均: 15.30%利润1最大值: 88.51%利润1最小值: 0.00% 利润2总平均: 11.19%利润2最大值: 88.51%利润2最小值: -13.41% ------------------------------------------------------- 97.1.1-00.7.7 测试股票数: 984 共发出指示: 443成功指示: 345失败指示: 98未完成指示: 0 平均成功率: 77.88%,成功率达到50%的股票有: 29.3% 利润1总平均: 13.94%利润1最大值: 88.51%利润1最小值: 0.00% 利润2总平均: 9.64%利润2最大值: 88.51%利润2最小值: -27.26% ------------------------------------------------------- 如果要用此公式选股,只需在条件选股窗口中选中此公式,并 把条件设定为HPRSI大于P1(P1为0)。 (16)、编程接口全攻略 为什么使用编程接口 由于分析家的自编公式缺乏循序、选择及循环三大基本结构中的循环结构,因而不能编制某些公式,作为补救措施,汇天奇公司推出编程接口。 编程接口的优点是能实现任意算法,运算效率高,保密性强;缺点是需要额外的知识,调试困难,善未完善。 所以,笔者建议尽量避免使用它。 使用编程接口需要什么基础知识及软件 原始的编程接口是以C语言提供,以Win32动态连接库的形式实现的,所以任何一个可以生成Win32 动态连接库的开发工具,都可以用于编写扩展函数,如Delphi、BCB、VC、VB等。 由于分析家软件是用VC编写的,故汇天奇公司推荐使用VC作为开发工具。 有鉴于此,笔者编写了VC6.0下的 CustomAppWizard,可自动生成程序框架,并作一些必要的设置,可节省不少时间。 如果使用VC,只需学习C 语言,不必懂得C++知识,更不必掌握MFC,要求可说是相当低了。 本文以VC为例,讲述扩展函数的编制。 扩展函数的命名及引用 扩展函数的命名有以下规定: 1.函数名称须符合C语言的规定,并需全部大写. 2.函数必须以下述A,B两种形式之一声明,请用实际函数名称替代xxxxxxxx。 __declspec(dllexport)intxxxxxxxx(CALCINFO*pData); ----------A __declspec(dllexport)intxxxxxxxxVAR(CALCINDO*pData); ----------B 3.上述形式A用于声明不带参数或全部参数为常数的函数; 形式B用于声明参数1为序列数的函数;两种函数的区别在于后者以VAR结尾. 4.函数名称长度不能超过15字节,动态连接库文件名不能超过9字节(不包括扩展名),动态库名称不能叫 SYSTEM,EXPLORER; 扩展函数的引用分两个步骤: XX搜索: 股票公式 1、将生成的动态连接库拷贝到分析家目录下; 2、编写一个公式,引用动态连接库中的扩展函数,格式如下: "动态库名称@函数名称"(参数表) 例如,您编了一个扩展函数叫FUNCTION(),有两个常数参数,生成的动态连接库叫formula.dll,引用为 "formula@Fuction"(16,8),注意一对半角双引号的位置,库名及函数名不区分大小写。 数据结构 编程接口的一大任务是数据的传递,包括将原始数据传递给扩展函数及将运算结果传递回分析家。 这是通过函数的参数CALCINFO* pData实现的,结构CALCINFO的定义在头文件FxjFunc.h或Analyst.h中,简介如下: typedefstructtagCALCINFO { constDWORDm_dwSize;//本结构的大小,可用于分配内存 constDWORDm_dwVersion;//调用软件版本(V2.10: 0x210) constDWORDm_dwSerial;//调用软件序列号 constchar*m_strStkLabel;//股票代码 constBOOLm_bIndex;//大盘 //数据数量(pData,pDataEx,pResultBuf指向的数组大小) constintm_nNumData; //常规数据数组指针,注意: 当m_nNumData==0时可能为NULL constSTKDATA*m_pData; //扩展数据数组指针,用于描述分笔成交买卖盘,注意: 可能为NULL constSTKDATAEx*m_pDataEx; constintm_nParam1Start;//参数1有效位置,详见注4、5 constfloat*m_pfParam1;//调用参数1 constfloat*m_pfParam2;//调用参数2 constfloat*m_pfParam3;//调用参数3 constfloat*m_pfParam4;//调用参数3 float*m_pResultBuf;//结果缓冲区 constDATA_TYPEm_dataType;//数据类型 constfloat*m_pfFinData;//财务数据 }CALCINFO; 注: 1.函数调用参数由m_pfParam1--m_pfParam4带入,若为NULL则表示该参数无效. 2.当一个参数无效时,则其后的所有参数均无效. 如: m_pfParam2为NULL,则m_pfParam3,m_pfParam4一定为NULL. 3.参数1可以是常数参数或序列数参数,其余参数只能为常数参数. 4.若m_nParam1Start<0,则参数1为常数参数,参数等于*m_pfParam1; 5.若m_nParam1Start>=0,则参数1为序列数参数,m_pfParam1指向一个浮点型数组, 数组大小为m_nNumData,数据有效范围为m_nParam1Start--m_nNumData. 在时间上m_pData[x]与m_pfParam1[x]是一致的 结构CALCINFO中用到的其它数据结构定义可在同一头文件中找到,读者如有疑问可自行查阅。 使用CustomAppWizard编程 XX搜索: 股票公式 由于CustomAppWizard 已完成了所有例行的工作,我们只需要读出原始数据,对其进行处理后,写入结果缓冲区就行了。 具体可参阅网友Normal的大作,此处不再赘 述。 有几点补充如下: 1、函数返回-1表示错误或全部数据无效,否则返回第一个有效值位置,即: m_pResultBuf[返回值]--m_pResultBuf[m_nNumData-1]间为有效值。 2、CustomAppWizard只适用于VC6.0,不能用于VC5.0。 不使用CustomAppWizard编程 手工编程的话,要注意以下几点: 1、函数参数传递顺序必须按照C规则,如果文件扩展名用.cpp,则函数声明必须包含在extern"C"{} 的括号中; 2、Project->Settings...->C/C++->Category: General ->Preprocessordefinitions中加入FXJFUNC_EXPORTS; 3、编译时选择1字节对齐,即 Project->Settings...->C/C++->Category: CodeGeneration ->Structmemberalignment: 选1Byte; 使用其它编程工具的,可参考以上设置。 不足及期望 编程接口虽然大大增强了公式编制的能力及灵活性,但也存在不足之处。 比如,只能被动获取原始数据,不能主动取得其它个股的指定数据;还有,不能同时取得不同周期的数据;另外,不提供基本的函数库,连移动平均也得自己动手。 由上可见,编程接口也有其局限性,并非万能。 我们期望汇天奇对其作进一步的完善。 (17)、自编公式中迭代问题的解决办法 迭代,利用上次计算结果重复计算,和递归概念相近,不同是递归是从后往前推,而迭代是从头到尾计算,从前往后推,很多定义是用递归定义的,但递归占用资源较多,效率较低,所以常常用迭代或回溯实现。 如阶乘的定义: P(n)=P(n-1)*n; 实现时则可用迭代: for(P=i=1;i<=n;i++){P=P*i;} 在分析家公式系统中,既不支持递归,又不支持迭代(循环),难道很多递归定义的公式不能实现吗? 有一些可以实现! 有两种方法我们可以尝试: 1。 利用统计函数 如OBV指标,它的算法是: 从上市第一天起,逐日累计股票总成交量,若当日收盘价高于昨收,则前OBV加当日成交量为当日OBV,否则减当日成交量为当日OBV。 从算法上看,它是个典型的需要迭代计算的例子,但让我们看看分析家是怎样实现的:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 股票 定价 公式