周期股业绩反转财务指标(盈利公司怎么估值?)
1. 盈利公司怎么估值?
公司的估值主要有以下几种方法:
1.PE估值,PE市盈率就是用股价P除以每股收益E得到的数值。PE数值越低代表市场给其的盈利溢价越少,数值越高代表市场给其的盈利溢价越高,可以简单理解为股票价格相对于公司盈利水平便宜或者贵。
股价上涨的主要原因有两个:一是公司营收的扩张和利润的增长;二是市场对公司业绩预期改善和提高。如果是第一种情况,则E(每股收益)变大,在PE不变的情况下,股价P会增长;如果是第二种情况,则是PE本身变大,那么即使业绩E不变,股价P也可以增长。
PE有静态和动态之分,静态就是用一个时间点的盈利去计算,例如用2015年底的公司实际利润计算PE。动态就是用公司预期的净利润来计算PE,如在2016年中时,用预期年底的净利润水平来计算PE,其代表了以动态发展眼光来看待公司的估值情况。
2.PB估值,PB=每股股价/每股净资产。PB市净率反映的是公司股价对于净资产的溢价程度。从PB估值法的公式可以看出,里面没有考虑企业的盈利,也没有考虑公司的业绩增速,单纯就是从公司净资产清算的角度出发,以现在的价格买下这家公司,如果退市清盘到底挣不挣钱?对于未来盈利能力不稳定的企业适合用PB估值法,例如周期股,其利润变化对周期变化较大,很难用利润来进行稳定的估算。
3.PEG估值,计算公式为:PEG=PE/公司盈利增长率,例如某只股票的市盈率为20,某投资者预测该企业的每年盈利增长速度为10%,则该股票的PEG为20÷10=2;如果盈利增长速度为20%,则PEG为20÷20=1。因此PEG值越低,表明该股要么市盈率越低,要么盈利增长率越高,盈利增速高于市盈率从而具有投资价值。
4.市销率PS估值,计算公式为PS=股价/每股营业收入。PS估值反映了企业的营业收入溢价情况,对于还未盈利或盈利失真的行业比较适合。例如互联网公司在高速发展期,其并不产生实际可分配利润,但是市场规模不断扩大,客户数量不断提升,营业收入不断增大,公司挣的钱都投入到了新的一轮扩张之中。虽然不产生利润但是其投入一直在增强公司的实力及体量,在获取足够竞争地位后,利润空间随之而来。因此在盈利前适合用PS估值。
另外,对于困境反转的股票,特别是周期股的困境反转,用PS法估值会比较合适。对于困境中的企业来说,利润率低,导致PE很高甚至为负数。但其反转后,利润率会提升,相同的营业收入会带来更多的净利润,因此运用PS法估值,可以根据企业收入稳定估值预期,等到反转时获取净利润提升收益。
2. 盈利公司怎么估值?
公司的估值主要有以下几种方法:
1.PE估值,PE市盈率就是用股价P除以每股收益E得到的数值。PE数值越低代表市场给其的盈利溢价越少,数值越高代表市场给其的盈利溢价越高,可以简单理解为股票价格相对于公司盈利水平便宜或者贵。
股价上涨的主要原因有两个:一是公司营收的扩张和利润的增长;二是市场对公司业绩预期改善和提高。如果是第一种情况,则E(每股收益)变大,在PE不变的情况下,股价P会增长;如果是第二种情况,则是PE本身变大,那么即使业绩E不变,股价P也可以增长。
PE有静态和动态之分,静态就是用一个时间点的盈利去计算,例如用2015年底的公司实际利润计算PE。动态就是用公司预期的净利润来计算PE,如在2016年中时,用预期年底的净利润水平来计算PE,其代表了以动态发展眼光来看待公司的估值情况。
2.PB估值,PB=每股股价/每股净资产。PB市净率反映的是公司股价对于净资产的溢价程度。从PB估值法的公式可以看出,里面没有考虑企业的盈利,也没有考虑公司的业绩增速,单纯就是从公司净资产清算的角度出发,以现在的价格买下这家公司,如果退市清盘到底挣不挣钱?对于未来盈利能力不稳定的企业适合用PB估值法,例如周期股,其利润变化对周期变化较大,很难用利润来进行稳定的估算。
3.PEG估值,计算公式为:PEG=PE/公司盈利增长率,例如某只股票的市盈率为20,某投资者预测该企业的每年盈利增长速度为10%,则该股票的PEG为20÷10=2;如果盈利增长速度为20%,则PEG为20÷20=1。因此PEG值越低,表明该股要么市盈率越低,要么盈利增长率越高,盈利增速高于市盈率从而具有投资价值。
4.市销率PS估值,计算公式为PS=股价/每股营业收入。PS估值反映了企业的营业收入溢价情况,对于还未盈利或盈利失真的行业比较适合。例如互联网公司在高速发展期,其并不产生实际可分配利润,但是市场规模不断扩大,客户数量不断提升,营业收入不断增大,公司挣的钱都投入到了新的一轮扩张之中。虽然不产生利润但是其投入一直在增强公司的实力及体量,在获取足够竞争地位后,利润空间随之而来。因此在盈利前适合用PS估值。
另外,对于困境反转的股票,特别是周期股的困境反转,用PS法估值会比较合适。对于困境中的企业来说,利润率低,导致PE很高甚至为负数。但其反转后,利润率会提升,相同的营业收入会带来更多的净利润,因此运用PS法估值,可以根据企业收入稳定估值预期,等到反转时获取净利润提升收益。
3. 盈利公司怎么估值?
公司的估值主要有以下几种方法:
1.PE估值,PE市盈率就是用股价P除以每股收益E得到的数值。PE数值越低代表市场给其的盈利溢价越少,数值越高代表市场给其的盈利溢价越高,可以简单理解为股票价格相对于公司盈利水平便宜或者贵。
股价上涨的主要原因有两个:一是公司营收的扩张和利润的增长;二是市场对公司业绩预期改善和提高。如果是第一种情况,则E(每股收益)变大,在PE不变的情况下,股价P会增长;如果是第二种情况,则是PE本身变大,那么即使业绩E不变,股价P也可以增长。
PE有静态和动态之分,静态就是用一个时间点的盈利去计算,例如用2015年底的公司实际利润计算PE。动态就是用公司预期的净利润来计算PE,如在2016年中时,用预期年底的净利润水平来计算PE,其代表了以动态发展眼光来看待公司的估值情况。
2.PB估值,PB=每股股价/每股净资产。PB市净率反映的是公司股价对于净资产的溢价程度。从PB估值法的公式可以看出,里面没有考虑企业的盈利,也没有考虑公司的业绩增速,单纯就是从公司净资产清算的角度出发,以现在的价格买下这家公司,如果退市清盘到底挣不挣钱?对于未来盈利能力不稳定的企业适合用PB估值法,例如周期股,其利润变化对周期变化较大,很难用利润来进行稳定的估算。
3.PEG估值,计算公式为:PEG=PE/公司盈利增长率,例如某只股票的市盈率为20,某投资者预测该企业的每年盈利增长速度为10%,则该股票的PEG为20÷10=2;如果盈利增长速度为20%,则PEG为20÷20=1。因此PEG值越低,表明该股要么市盈率越低,要么盈利增长率越高,盈利增速高于市盈率从而具有投资价值。
4.市销率PS估值,计算公式为PS=股价/每股营业收入。PS估值反映了企业的营业收入溢价情况,对于还未盈利或盈利失真的行业比较适合。例如互联网公司在高速发展期,其并不产生实际可分配利润,但是市场规模不断扩大,客户数量不断提升,营业收入不断增大,公司挣的钱都投入到了新的一轮扩张之中。虽然不产生利润但是其投入一直在增强公司的实力及体量,在获取足够竞争地位后,利润空间随之而来。因此在盈利前适合用PS估值。
另外,对于困境反转的股票,特别是周期股的困境反转,用PS法估值会比较合适。对于困境中的企业来说,利润率低,导致PE很高甚至为负数。但其反转后,利润率会提升,相同的营业收入会带来更多的净利润,因此运用PS法估值,可以根据企业收入稳定估值预期,等到反转时获取净利润提升收益。
4. 追击反转指标使用技巧?
有技巧。
1.
确定时间周期 需要确定追击反转指标的时间周期。这通常取决于交易者的交易风格和目标。如果交易者是短线交易者,可以选择较短的时间周期,如5分钟或15分钟。如果交易者是长线交易者,可以选择较长的时间周期,如1小时或1天。
2.
计算追击反转指标 接下来,需要计算追击反转指标。这可以通过使用技术分析软件或在线工具来完成。追击反转指标通常由两个部分组成:追击线和反转线。追击线是一条移动平均线,用于跟踪市场价格的变化
5. 情绪周期指标公式源码?
情绪周期指标(EMI)是用于衡量市场情绪周期变化的技术指标。其计算公式为:EM = (最高价 - 收盘价)/ (最高价 - 最低价),其中最高价指一段时间内的最高价,最低价指同一时间段内的最低价,收盘价指当天的收盘价。
通过计算得到的EM值反映了情绪周期的变动情况,数值愈大代表情绪周期越低迷,趋势反转的可能性较大;数值愈小则情绪周期越活跃,市场趋势持续性较高。根据计算结果,可以判断市场的风险和机会,进而进行相应的投资决策。
6. 盈利公司怎么估值?
公司的估值主要有以下几种方法:
1.PE估值,PE市盈率就是用股价P除以每股收益E得到的数值。PE数值越低代表市场给其的盈利溢价越少,数值越高代表市场给其的盈利溢价越高,可以简单理解为股票价格相对于公司盈利水平便宜或者贵。
股价上涨的主要原因有两个:一是公司营收的扩张和利润的增长;二是市场对公司业绩预期改善和提高。如果是第一种情况,则E(每股收益)变大,在PE不变的情况下,股价P会增长;如果是第二种情况,则是PE本身变大,那么即使业绩E不变,股价P也可以增长。
PE有静态和动态之分,静态就是用一个时间点的盈利去计算,例如用2015年底的公司实际利润计算PE。动态就是用公司预期的净利润来计算PE,如在2016年中时,用预期年底的净利润水平来计算PE,其代表了以动态发展眼光来看待公司的估值情况。
2.PB估值,PB=每股股价/每股净资产。PB市净率反映的是公司股价对于净资产的溢价程度。从PB估值法的公式可以看出,里面没有考虑企业的盈利,也没有考虑公司的业绩增速,单纯就是从公司净资产清算的角度出发,以现在的价格买下这家公司,如果退市清盘到底挣不挣钱?对于未来盈利能力不稳定的企业适合用PB估值法,例如周期股,其利润变化对周期变化较大,很难用利润来进行稳定的估算。
3.PEG估值,计算公式为:PEG=PE/公司盈利增长率,例如某只股票的市盈率为20,某投资者预测该企业的每年盈利增长速度为10%,则该股票的PEG为20÷10=2;如果盈利增长速度为20%,则PEG为20÷20=1。因此PEG值越低,表明该股要么市盈率越低,要么盈利增长率越高,盈利增速高于市盈率从而具有投资价值。
4.市销率PS估值,计算公式为PS=股价/每股营业收入。PS估值反映了企业的营业收入溢价情况,对于还未盈利或盈利失真的行业比较适合。例如互联网公司在高速发展期,其并不产生实际可分配利润,但是市场规模不断扩大,客户数量不断提升,营业收入不断增大,公司挣的钱都投入到了新的一轮扩张之中。虽然不产生利润但是其投入一直在增强公司的实力及体量,在获取足够竞争地位后,利润空间随之而来。因此在盈利前适合用PS估值。
另外,对于困境反转的股票,特别是周期股的困境反转,用PS法估值会比较合适。对于困境中的企业来说,利润率低,导致PE很高甚至为负数。但其反转后,利润率会提升,相同的营业收入会带来更多的净利润,因此运用PS法估值,可以根据企业收入稳定估值预期,等到反转时获取净利润提升收益。
7. 情绪周期指标公式源码?
情绪周期指标(EMI)是用于衡量市场情绪周期变化的技术指标。其计算公式为:EM = (最高价 - 收盘价)/ (最高价 - 最低价),其中最高价指一段时间内的最高价,最低价指同一时间段内的最低价,收盘价指当天的收盘价。
通过计算得到的EM值反映了情绪周期的变动情况,数值愈大代表情绪周期越低迷,趋势反转的可能性较大;数值愈小则情绪周期越活跃,市场趋势持续性较高。根据计算结果,可以判断市场的风险和机会,进而进行相应的投资决策。
8. 情绪周期指标公式源码?
情绪周期指标(EMI)是用于衡量市场情绪周期变化的技术指标。其计算公式为:EM = (最高价 - 收盘价)/ (最高价 - 最低价),其中最高价指一段时间内的最高价,最低价指同一时间段内的最低价,收盘价指当天的收盘价。
通过计算得到的EM值反映了情绪周期的变动情况,数值愈大代表情绪周期越低迷,趋势反转的可能性较大;数值愈小则情绪周期越活跃,市场趋势持续性较高。根据计算结果,可以判断市场的风险和机会,进而进行相应的投资决策。
9. 追击反转指标使用技巧?
有技巧。
1.
确定时间周期 需要确定追击反转指标的时间周期。这通常取决于交易者的交易风格和目标。如果交易者是短线交易者,可以选择较短的时间周期,如5分钟或15分钟。如果交易者是长线交易者,可以选择较长的时间周期,如1小时或1天。
2.
计算追击反转指标 接下来,需要计算追击反转指标。这可以通过使用技术分析软件或在线工具来完成。追击反转指标通常由两个部分组成:追击线和反转线。追击线是一条移动平均线,用于跟踪市场价格的变化
10. 情绪周期指标公式源码?
情绪周期指标(EMI)是用于衡量市场情绪周期变化的技术指标。其计算公式为:EM = (最高价 - 收盘价)/ (最高价 - 最低价),其中最高价指一段时间内的最高价,最低价指同一时间段内的最低价,收盘价指当天的收盘价。
通过计算得到的EM值反映了情绪周期的变动情况,数值愈大代表情绪周期越低迷,趋势反转的可能性较大;数值愈小则情绪周期越活跃,市场趋势持续性较高。根据计算结果,可以判断市场的风险和机会,进而进行相应的投资决策。
11. cyc指标公式源码?
Cyc指标(Cycle Indicator)是一种用于研究股票、期货、外汇等市场的技术指标。它的计算方法比较复杂,涉及到多个参数和数学公式。以下是Cyc指标的计算公式源码,供参考:
```
// 计算Cyc指标
double[] Cyc(double[] close, int n, double w) {
// 初始化变量
double[] cycle = new double[close.Length];
double[] trend = new double[close.Length];
double[] deviation = new double[close.Length];
double[] period = new double[close.Length];
double[] smooth = new double[close.Length];
double[] dc = new double[close.Length];
double[] cyc = new double[close.Length];
double[] sum1 = new double[close.Length];
double[] sum2 = new double[close.Length];
double[] sum3 = new double[close.Length];
double[] sum4 = new double[close.Length];
double[] sum5 = new double[close.Length];
double[] sum6 = new double[close.Length];
double[] sum7 = new double[close.Length];
double[] sum8 = new double[close.Length];
double[] sum9 = new double[close.Length];
// 计算周期
for (int i = n + 1; i < close.Length; i++) {
// 计算价格波动率
double sum = 0;
for (int j = i - n; j <= i; j++) {
sum += Math.Abs(close[j] - close[j - 1]);
}
deviation[i] = sum / n;
// 计算周期
if (deviation[i] != 0) {
period[i] = 0.5 / (deviation[i] / close[i - 1]);
} else {
period[i] = period[i - 1];
}
}
// 计算趋势
for (int i = n + 1; i < close.Length; i++) {
if (i == n + 1) {
trend[i] = 0.5 * (close[i] - close[i - n]);
} else {
trend[i] = (1 - w) * trend[i - 1] + w * 0.5 * (close[i] - close[i - n]);
}
}
// 计算平滑系数
for (int i = n + 1; i < close.Length; i++) {
smooth[i] = 0.15 * period[i] + 0.85 * smooth[i - 1];
}
// 计算DC
for (int i = n + 1; i < close.Length; i++) {
dc[i] = 0.5 * (1 + Math.Cos(2 * Math.PI / smooth[i]));
}
// 计算Cyc
for (int i = n + 1; i < close.Length; i++) {
sum1[i] = 0.0962 * close[i] + 0.5769 * close[i - 2] - 0.5769 * close[i - 4] - 0.0962 * close[i - 6];
sum2[i] = 0.075 * sum1[i] + 0.54 * sum1[i - 1] + 0.54 * sum1[i - 2] + 0.075 * sum1[i - 3];
sum3[i] = sum2[i] - dc[i] * sum2[i];
sum4[i] = 0.0962 * sum3[i] + 0.5769 * sum3[i - 2] - 0.5769 * sum3[i - 4] - 0.0962 * sum3[i - 6];
sum5[i] = 0.075 * sum4[i] + 0.54 * sum4[i - 1] + 0.54 * sum4[i - 2] + 0.075 * sum4[i - 3];
sum6[i] = sum5[i] - dc[i] * sum5[i];
sum7[i] = 0.0962 * sum6[i] + 0.5769 * sum6[i - 2] - 0.5769 * sum6[i - 4] - 0.0962 * sum6[i - 6];
sum8[i] = 0.075 * sum7[i] + 0.54 * sum7[i - 1] + 0.54 * sum7[i - 2] + 0.075 * sum7[i - 3];
sum9[i] = sum8[i] - dc[i] * sum8[i];
cyc[i] = 0.2 * sum9[i] + 0.8 * cyc[i - 1];
}
return cyc;
}
```
其中,参数`close`表示收盘价序列,`n`表示周期长度,`w`表示趋势平滑系数。该源码中包含了Cyc指标的完整计算过程,可以直接调用该方法进行计算。
12. cyc指标公式源码?
Cyc指标(Cycle Indicator)是一种用于研究股票、期货、外汇等市场的技术指标。它的计算方法比较复杂,涉及到多个参数和数学公式。以下是Cyc指标的计算公式源码,供参考:
```
// 计算Cyc指标
double[] Cyc(double[] close, int n, double w) {
// 初始化变量
double[] cycle = new double[close.Length];
double[] trend = new double[close.Length];
double[] deviation = new double[close.Length];
double[] period = new double[close.Length];
double[] smooth = new double[close.Length];
double[] dc = new double[close.Length];
double[] cyc = new double[close.Length];
double[] sum1 = new double[close.Length];
double[] sum2 = new double[close.Length];
double[] sum3 = new double[close.Length];
double[] sum4 = new double[close.Length];
double[] sum5 = new double[close.Length];
double[] sum6 = new double[close.Length];
double[] sum7 = new double[close.Length];
double[] sum8 = new double[close.Length];
double[] sum9 = new double[close.Length];
// 计算周期
for (int i = n + 1; i < close.Length; i++) {
// 计算价格波动率
double sum = 0;
for (int j = i - n; j <= i; j++) {
sum += Math.Abs(close[j] - close[j - 1]);
}
deviation[i] = sum / n;
// 计算周期
if (deviation[i] != 0) {
period[i] = 0.5 / (deviation[i] / close[i - 1]);
} else {
period[i] = period[i - 1];
}
}
// 计算趋势
for (int i = n + 1; i < close.Length; i++) {
if (i == n + 1) {
trend[i] = 0.5 * (close[i] - close[i - n]);
} else {
trend[i] = (1 - w) * trend[i - 1] + w * 0.5 * (close[i] - close[i - n]);
}
}
// 计算平滑系数
for (int i = n + 1; i < close.Length; i++) {
smooth[i] = 0.15 * period[i] + 0.85 * smooth[i - 1];
}
// 计算DC
for (int i = n + 1; i < close.Length; i++) {
dc[i] = 0.5 * (1 + Math.Cos(2 * Math.PI / smooth[i]));
}
// 计算Cyc
for (int i = n + 1; i < close.Length; i++) {
sum1[i] = 0.0962 * close[i] + 0.5769 * close[i - 2] - 0.5769 * close[i - 4] - 0.0962 * close[i - 6];
sum2[i] = 0.075 * sum1[i] + 0.54 * sum1[i - 1] + 0.54 * sum1[i - 2] + 0.075 * sum1[i - 3];
sum3[i] = sum2[i] - dc[i] * sum2[i];
sum4[i] = 0.0962 * sum3[i] + 0.5769 * sum3[i - 2] - 0.5769 * sum3[i - 4] - 0.0962 * sum3[i - 6];
sum5[i] = 0.075 * sum4[i] + 0.54 * sum4[i - 1] + 0.54 * sum4[i - 2] + 0.075 * sum4[i - 3];
sum6[i] = sum5[i] - dc[i] * sum5[i];
sum7[i] = 0.0962 * sum6[i] + 0.5769 * sum6[i - 2] - 0.5769 * sum6[i - 4] - 0.0962 * sum6[i - 6];
sum8[i] = 0.075 * sum7[i] + 0.54 * sum7[i - 1] + 0.54 * sum7[i - 2] + 0.075 * sum7[i - 3];
sum9[i] = sum8[i] - dc[i] * sum8[i];
cyc[i] = 0.2 * sum9[i] + 0.8 * cyc[i - 1];
}
return cyc;
}
```
其中,参数`close`表示收盘价序列,`n`表示周期长度,`w`表示趋势平滑系数。该源码中包含了Cyc指标的完整计算过程,可以直接调用该方法进行计算。
13. 追击反转指标使用技巧?
有技巧。
1.
确定时间周期 需要确定追击反转指标的时间周期。这通常取决于交易者的交易风格和目标。如果交易者是短线交易者,可以选择较短的时间周期,如5分钟或15分钟。如果交易者是长线交易者,可以选择较长的时间周期,如1小时或1天。
2.
计算追击反转指标 接下来,需要计算追击反转指标。这可以通过使用技术分析软件或在线工具来完成。追击反转指标通常由两个部分组成:追击线和反转线。追击线是一条移动平均线,用于跟踪市场价格的变化
14. 追击反转指标使用技巧?
有技巧。
1.
确定时间周期 需要确定追击反转指标的时间周期。这通常取决于交易者的交易风格和目标。如果交易者是短线交易者,可以选择较短的时间周期,如5分钟或15分钟。如果交易者是长线交易者,可以选择较长的时间周期,如1小时或1天。
2.
计算追击反转指标 接下来,需要计算追击反转指标。这可以通过使用技术分析软件或在线工具来完成。追击反转指标通常由两个部分组成:追击线和反转线。追击线是一条移动平均线,用于跟踪市场价格的变化
15. cyc指标公式源码?
Cyc指标(Cycle Indicator)是一种用于研究股票、期货、外汇等市场的技术指标。它的计算方法比较复杂,涉及到多个参数和数学公式。以下是Cyc指标的计算公式源码,供参考:
```
// 计算Cyc指标
double[] Cyc(double[] close, int n, double w) {
// 初始化变量
double[] cycle = new double[close.Length];
double[] trend = new double[close.Length];
double[] deviation = new double[close.Length];
double[] period = new double[close.Length];
double[] smooth = new double[close.Length];
double[] dc = new double[close.Length];
double[] cyc = new double[close.Length];
double[] sum1 = new double[close.Length];
double[] sum2 = new double[close.Length];
double[] sum3 = new double[close.Length];
double[] sum4 = new double[close.Length];
double[] sum5 = new double[close.Length];
double[] sum6 = new double[close.Length];
double[] sum7 = new double[close.Length];
double[] sum8 = new double[close.Length];
double[] sum9 = new double[close.Length];
// 计算周期
for (int i = n + 1; i < close.Length; i++) {
// 计算价格波动率
double sum = 0;
for (int j = i - n; j <= i; j++) {
sum += Math.Abs(close[j] - close[j - 1]);
}
deviation[i] = sum / n;
// 计算周期
if (deviation[i] != 0) {
period[i] = 0.5 / (deviation[i] / close[i - 1]);
} else {
period[i] = period[i - 1];
}
}
// 计算趋势
for (int i = n + 1; i < close.Length; i++) {
if (i == n + 1) {
trend[i] = 0.5 * (close[i] - close[i - n]);
} else {
trend[i] = (1 - w) * trend[i - 1] + w * 0.5 * (close[i] - close[i - n]);
}
}
// 计算平滑系数
for (int i = n + 1; i < close.Length; i++) {
smooth[i] = 0.15 * period[i] + 0.85 * smooth[i - 1];
}
// 计算DC
for (int i = n + 1; i < close.Length; i++) {
dc[i] = 0.5 * (1 + Math.Cos(2 * Math.PI / smooth[i]));
}
// 计算Cyc
for (int i = n + 1; i < close.Length; i++) {
sum1[i] = 0.0962 * close[i] + 0.5769 * close[i - 2] - 0.5769 * close[i - 4] - 0.0962 * close[i - 6];
sum2[i] = 0.075 * sum1[i] + 0.54 * sum1[i - 1] + 0.54 * sum1[i - 2] + 0.075 * sum1[i - 3];
sum3[i] = sum2[i] - dc[i] * sum2[i];
sum4[i] = 0.0962 * sum3[i] + 0.5769 * sum3[i - 2] - 0.5769 * sum3[i - 4] - 0.0962 * sum3[i - 6];
sum5[i] = 0.075 * sum4[i] + 0.54 * sum4[i - 1] + 0.54 * sum4[i - 2] + 0.075 * sum4[i - 3];
sum6[i] = sum5[i] - dc[i] * sum5[i];
sum7[i] = 0.0962 * sum6[i] + 0.5769 * sum6[i - 2] - 0.5769 * sum6[i - 4] - 0.0962 * sum6[i - 6];
sum8[i] = 0.075 * sum7[i] + 0.54 * sum7[i - 1] + 0.54 * sum7[i - 2] + 0.075 * sum7[i - 3];
sum9[i] = sum8[i] - dc[i] * sum8[i];
cyc[i] = 0.2 * sum9[i] + 0.8 * cyc[i - 1];
}
return cyc;
}
```
其中,参数`close`表示收盘价序列,`n`表示周期长度,`w`表示趋势平滑系数。该源码中包含了Cyc指标的完整计算过程,可以直接调用该方法进行计算。
16. cyc指标公式源码?
Cyc指标(Cycle Indicator)是一种用于研究股票、期货、外汇等市场的技术指标。它的计算方法比较复杂,涉及到多个参数和数学公式。以下是Cyc指标的计算公式源码,供参考:
```
// 计算Cyc指标
double[] Cyc(double[] close, int n, double w) {
// 初始化变量
double[] cycle = new double[close.Length];
double[] trend = new double[close.Length];
double[] deviation = new double[close.Length];
double[] period = new double[close.Length];
double[] smooth = new double[close.Length];
double[] dc = new double[close.Length];
double[] cyc = new double[close.Length];
double[] sum1 = new double[close.Length];
double[] sum2 = new double[close.Length];
double[] sum3 = new double[close.Length];
double[] sum4 = new double[close.Length];
double[] sum5 = new double[close.Length];
double[] sum6 = new double[close.Length];
double[] sum7 = new double[close.Length];
double[] sum8 = new double[close.Length];
double[] sum9 = new double[close.Length];
// 计算周期
for (int i = n + 1; i < close.Length; i++) {
// 计算价格波动率
double sum = 0;
for (int j = i - n; j <= i; j++) {
sum += Math.Abs(close[j] - close[j - 1]);
}
deviation[i] = sum / n;
// 计算周期
if (deviation[i] != 0) {
period[i] = 0.5 / (deviation[i] / close[i - 1]);
} else {
period[i] = period[i - 1];
}
}
// 计算趋势
for (int i = n + 1; i < close.Length; i++) {
if (i == n + 1) {
trend[i] = 0.5 * (close[i] - close[i - n]);
} else {
trend[i] = (1 - w) * trend[i - 1] + w * 0.5 * (close[i] - close[i - n]);
}
}
// 计算平滑系数
for (int i = n + 1; i < close.Length; i++) {
smooth[i] = 0.15 * period[i] + 0.85 * smooth[i - 1];
}
// 计算DC
for (int i = n + 1; i < close.Length; i++) {
dc[i] = 0.5 * (1 + Math.Cos(2 * Math.PI / smooth[i]));
}
// 计算Cyc
for (int i = n + 1; i < close.Length; i++) {
sum1[i] = 0.0962 * close[i] + 0.5769 * close[i - 2] - 0.5769 * close[i - 4] - 0.0962 * close[i - 6];
sum2[i] = 0.075 * sum1[i] + 0.54 * sum1[i - 1] + 0.54 * sum1[i - 2] + 0.075 * sum1[i - 3];
sum3[i] = sum2[i] - dc[i] * sum2[i];
sum4[i] = 0.0962 * sum3[i] + 0.5769 * sum3[i - 2] - 0.5769 * sum3[i - 4] - 0.0962 * sum3[i - 6];
sum5[i] = 0.075 * sum4[i] + 0.54 * sum4[i - 1] + 0.54 * sum4[i - 2] + 0.075 * sum4[i - 3];
sum6[i] = sum5[i] - dc[i] * sum5[i];
sum7[i] = 0.0962 * sum6[i] + 0.5769 * sum6[i - 2] - 0.5769 * sum6[i - 4] - 0.0962 * sum6[i - 6];
sum8[i] = 0.075 * sum7[i] + 0.54 * sum7[i - 1] + 0.54 * sum7[i - 2] + 0.075 * sum7[i - 3];
sum9[i] = sum8[i] - dc[i] * sum8[i];
cyc[i] = 0.2 * sum9[i] + 0.8 * cyc[i - 1];
}
return cyc;
}
```
其中,参数`close`表示收盘价序列,`n`表示周期长度,`w`表示趋势平滑系数。该源码中包含了Cyc指标的完整计算过程,可以直接调用该方法进行计算。