基于Java语言开发的个性化股票分析技术 量能突破模型EnergeBreak.doc
《基于Java语言开发的个性化股票分析技术 量能突破模型EnergeBreak.doc》由会员分享,可在线阅读,更多相关《基于Java语言开发的个性化股票分析技术 量能突破模型EnergeBreak.doc(38页珍藏版)》请在三一文库上搜索。
1、基于Java语言开发的个性化股票分析技术:量能突破模型(Energe-Break)一个用量能指标作为判定依据的条件分析模型,根据最近5天内是否有量能平台的突破以及涨跌幅的大小给每只股票评分评价,给用户明确的建议。迅动股票分析平台在此基础上利用Java语言开发了量能突破模型(Energe-Break),源代码如下:XML描述: 一个用量能指标作为判定依据的条件分析模型,根据最近5天内是否有量能平台的突破以及涨跌幅的大小给每只股票评分评价,给用户明确的建议。 Java代码:/* * (#)EBnalyser.java * * Copyright Hangzhou Shengren Software
2、 Tech. Co., Ltd. */package u008660011.model.analyser.eb;import java.rmi.RemoteException;import java.util.List;import mons.lang.math.NumberUtils;import mon.util.DateUtil;import mon.util.StkAnalysisUtil;import com.shengrensoft.stock.center.data.Data;import com.shengrensoft.stock.center.data.StkDailyK.
3、StkDailyKData;import com.shengrensoft.stock.center.data.IdxDailyK.IdxDailyKData;import com.shengrensoft.stock.center.data.BlkDailyK.BlkDailyKData;import com.shengrensoft.stock.center.model.ModelParam;import com.shengrensoft.stock.center.model.analyser.AbstractAnalyser;import com.shengrensoft.stock.c
4、enter.model.analyser.AnalysisValue;/* * EB量能突破分析模型的实现类。 * * author 迅动平台 2012/09/20 新建 */public class EBAnalyser extends AbstractAnalyser /* 序列版本ID */ private static final long serialVersionUID = -732447148977150017L; / 参数名定义 /* 参数名:N天数 */ private static final String PARAM_N = N; /* 参数名:加减分系数 */ priv
5、ate static final String PARAM_CONFICENT = C; /* * 构造方法。 */ public EBAnalyser() throws RemoteException /* * 分析买入点的变化。 * * param stkCode 证券代码 * param transDate 交易日期 * param paramsList 模型参数列表 * * return 分析结果(含评分和评价) */ public AnalysisValue doAnalysis( String stkCode, java.util.Date transDate, List para
6、msList) throws RemoteException AnalysisValue analysisValue = null; / 股票代码合法性检查 if (stkCode = null) analysisValue = new AnalysisValue(); analysisValue.setStkCode(stkCode); analysisValue.setResultScore(0); analysisValue.setResultDesc(股票代码不合法,分析失败。); return analysisValue; / 交易日期合法性检查 if (transDate = nu
7、ll) analysisValue = new AnalysisValue(); analysisValue.setStkCode(stkCode); analysisValue.setResultScore(0); analysisValue.setResultDesc(交易日期不合法,分析失败。); return analysisValue; / 参数列表合法性检查 if (paramsList = null) analysisValue = new AnalysisValue(); analysisValue.setStkCode(stkCode); analysisValue.setR
8、esultScore(0); analysisValue.setResultDesc(参数列表不合法,分析失败。); return analysisValue; / 取得分析所需的模型参数 int paramN = 0; int paramCONFICENT = 0; for (ModelParam param : paramsList) if (PARAM_N.equals(param.getShortName() paramN = NumberUtils.toInt(param.getValue(); else if (PARAM_CONFICENT.equals(param.getSho
9、rtName() paramCONFICENT = NumberUtils.toInt(param.getValue(); else return null; / 发现一个意外的模型参数 / 天数的合法性检查 if (paramN 1) analysisValue = new AnalysisValue(); analysisValue.setStkCode(stkCode); analysisValue.setResultScore(0); analysisValue.setResultDesc(天数不合法,分析失败。); return analysisValue; / (%)加减分系数 i
10、f (paramCONFICENT 99) analysisValue = new AnalysisValue(); analysisValue.setStkCode(stkCode); analysisValue.setResultScore(0); analysisValue.setResultDesc(加减分系数,分析失败。); return analysisValue; / 判别证券代码类型(是否为股票代码,股指代码,板指代码),分别进行分析 StkAnalysisUtil stkAnalysisUtil = super.getStkAnalysisUtil(); if (stkAna
11、lysisUtil.isStkCode(stkCode) analysisValue = this.analyseStk(stkCode, transDate, paramN, paramCONFICENT); if (analysisValue = null) analysisValue = new AnalysisValue(); analysisValue.setStkCode(stkCode); analysisValue.setResultScore(0); analysisValue.setResultDesc(公司新上市或该天缺少数据,分析失败!); return analysi
12、sValue; else if (stkAnalysisUtil.isIdxCode(stkCode) analysisValue = this.analyseIdx(stkCode, transDate, paramN, paramCONFICENT); if (analysisValue = null) analysisValue = new AnalysisValue(); analysisValue.setStkCode(stkCode); analysisValue.setResultScore(0); analysisValue.setResultDesc(公司新上市或该天缺少数据
13、,分析失败!); return analysisValue; else if (stkAnalysisUtil.isBlkCode(super.getUserId(), stkCode) analysisValue = this.analyseBlk(stkCode, transDate, paramN, paramCONFICENT); if (analysisValue = null) analysisValue = new AnalysisValue(); analysisValue.setStkCode(stkCode); analysisValue.setResultScore(0)
14、; analysisValue.setResultDesc(公司新上市或该天缺少数据,分析失败!); return analysisValue; else analysisValue = new AnalysisValue(); analysisValue.setStkCode(stkCode); analysisValue.setResultScore(0); analysisValue.setResultDesc(证劵代码类型不符,分析失败!); return analysisValue; /* * 根据能量突破提示的不同,对股票进行分析、评分、评价。 * * param stkCode
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于Java语言开发的个性化股票分析技术 量能突破模型EnergeBreak 基于 Java 语言 开发 个性化 股票 分析 技术 量能 突破 模型 EnergeBreak
链接地址:https://www.31doc.com/p-2403943.html