`

计算成本价及要打到某一价位需要的投入

 
阅读更多
package com.lwf.test;

import java.math.BigDecimal;

public class Test {
	public static void main(String[] args) {
//		System.out.println(caculateCB("10.8","1800","6.42","3000"));
//		System.out.println(caculateCT("10.8","1800","6.42","7"));
		caculateYK("16.572","6500","19.2");
		caculateMBJ("16.572","5000","30");
	}
	
	/**
	 * 预计涨幅-计算目标价
	 * @param v1 原始买入价
	 * @param c1 原始买入数
	 * @param zf 涨幅如涨20%,只需要输入20
	 */
	public static void caculateMBJ(String v1,String c1 ,String zf1){
		BigDecimal vs1 = new BigDecimal(v1);
		BigDecimal cs1 = new BigDecimal(c1);
		BigDecimal zf = new BigDecimal(zf1);
		BigDecimal vs2 = vs1.add((vs1.multiply(zf)).divide(new BigDecimal("100")));
		BigDecimal yjz =  vs1.multiply(cs1) ;
		BigDecimal xjz =  vs2.multiply(cs1) ;
		BigDecimal yk = xjz.subtract(yjz);
		System.out.println("原始总价值=" + yjz + ",目标总价值=" + xjz + ",盈亏=" + yk + ",涨幅="+zf+"%" + ",原价=" + vs1 + ",目标价="+ vs2 );
	}
	
	/**
	 * 计算涨幅、盈亏
	 * @param v1 原始买入价
	 * @param c1 原始买入数
	 * @param v2 现价
	 */
	public static void caculateYK(String v1,String c1 ,String v2){
		BigDecimal vs1 = new BigDecimal(v1);
		BigDecimal vs2 = new BigDecimal(v2);
		BigDecimal cs1 = new BigDecimal(c1);
		BigDecimal yjz =  vs1.multiply(cs1) ;
		BigDecimal xjz =  vs2.multiply(cs1) ;
		BigDecimal yk = xjz.subtract(yjz);
		BigDecimal zf = ((vs2.subtract(vs1)).divide(vs1, BigDecimal.ROUND_HALF_UP)).multiply(new BigDecimal("100"));
		System.out.println("原始总价值=" + yjz + ",现在总价值=" + xjz + ",盈亏=" + yk + ",涨幅="+zf+"%" + ",原价=" + vs1 + ",现价="+ vs2);
	}
	
	/**
	 * 计算补仓后的成本价
	 * @param v1 原始买入价
	 * @param c1 原始买入数
	 * @param v2 补仓价即现价
	 * @param c2 补仓数
	 * @return 补仓后成本价
	 */
	public static String caculateCB(String v1,String c1 ,String v2, String c2){
		BigDecimal vs1 = new BigDecimal(v1);
		BigDecimal vs2 = new BigDecimal(v2);
		BigDecimal cs1 = new BigDecimal(c1);
		BigDecimal cs2 = new BigDecimal(c2);
		BigDecimal retVal = ((vs1.multiply(cs1)).add(vs2.multiply(cs2))).divide(cs1.add(cs2), BigDecimal.ROUND_HALF_UP);
		BigDecimal money = cs2.multiply(vs2);
		System.out.println("原始购入:" + c1 + "股,原成本价:"+ v1 + ",现价:" + v2 + ",购入:" + c2 + "股" + ",补仓后成本价降为:" + retVal.toString() + ",需要金额:" + money);
		return retVal.toString() ;
	}
	
	/**
	 * 计算要打到某一成本价需要补多少股
	 * @param v1 买入价
	 * @param c1 原始买入数
	 * @param v2 补仓价即现价
	 * @param v3 目标成本价即完成补仓后的成本价
	 * @return 需要补仓的股数
	 */
	public static String caculateCT(String v1,String c1,String v2, String v3){
		
		BigDecimal vs1 = new BigDecimal(v1);
		BigDecimal vs2 = new BigDecimal(v2);
		BigDecimal vs3 = new BigDecimal(v3);
		BigDecimal cs1 = new BigDecimal(c1);
		int cv = vs3.compareTo(vs2);
		if(cv <= 0){
			return "目标成本价跟现价一致或低于现价!";
		}
		int cv1 = vs1.compareTo(vs3);
		if(cv <=0){
			return "目标成本价跟原价一致或高于原价!";
		}
		Integer retVal =((vs1.subtract(vs3)).multiply(cs1)).divide((vs3.subtract(vs2)),BigDecimal.ROUND_HALF_UP).intValue();
		String val = String.valueOf((retVal*100/10000)*100);
		BigDecimal money = vs2.multiply(new BigDecimal(val));
		System.out.println("原始购入:" + c1 + "股,原成本价:"+ v1 + ",现价:" + v2 + ",想把成本价降为:" + v3 + ",需要购入:" + val + "股" + ",需要金额:" + money );
		return  val;
	}
}

 

分享到:
评论

相关推荐

    股票补仓成本计算神器

    "股票补仓成本计算神器"是一个专为投资者设计的工具,旨在帮助他们精确计算补仓操作后的平均成本,从而更科学地管理投资风险。 补仓的基本原理是在原有持仓的基础上,以更低的价格买入相同的股票,这样可以降低整体...

    成本核算-一套成本核算表格

    本套成本核算表格提供了一整套系统化的工具,帮助企业管理者进行产成品成本计算和费用分配,以实现精细化的成本控制。 首先,"产品成本计算汇总表.xls"是核心的工具,它整合了所有与产品生产相关的成本数据,包括...

    oracle ebs 成本核算

    1. 工单发料:在生产过程中,需要将原材料领用到生产现场,此时需要对原材料进行成本核算,包括原材料的成本价和数量。 2. 工单移动,计费:在生产过程中,需要对生产资源的使用进行成本核算,包括人工成本、资源...

    股票成本价和盈亏金额计算方法.doc

    在证券市场中,股票成本价和盈亏金额的计算对于投资者来说是一项至关重要的技能。投资者需要准确地掌握各种计算方法,以便能够准确地评估自身的投资状况,并作出明智的交易决策。本文将详细探讨股票成本价和盈亏金额...

    企业成本核算系统分析.pptx

    - **分批法**:以批次为成本计算对象,适合定制或非连续生产的情况。 3. **业务流程示例:** - 文中以某钢铁厂为例,展示了烧结厂如何运用分步法进行成本核算。矿石和煤作为原材料,经过烧结、炼铁、炼钢等步骤,...

    成本核算.zip

    Excel是进行财务管理和数据分析的常用工具,特别是对于成本计算和预算编制。 成本核算主要分为以下几个方面: 1. **直接成本**:直接成本是指可以直接关联到特定产品或服务的成本,如原材料费用、直接劳动力成本和...

    VBA成本核算工作的一个表格

    【标题】"VBA成本核算工作的一个表格"指的是利用VBA(Visual Basic for Applications)编程在Excel中构建的成本计算工具。VBA是Microsoft Office套件内嵌的一种编程语言,允许用户自定义工作流程,实现自动化操作,...

    半导体晶圆厂recipe成本核算以及报价系统

    很多年前的VB6代码程序,需要从晶圆厂的Promis系统导出工序数据才能够计算成本。当初是为了方便自己的工作而开发的。目前能不能运行偶也搞不清了。仅供VB6学习者参考。 这套系统,可以核算晶圆厂recipe成本核算(要...

    某地产成本核算指导4.docx

    万科企业股份有限公司所制定的《某地产成本核算指导4.docx》是一份针对房地产开发企业的成本核算规范,旨在通过规范成本核算流程来提高成本控制效率。本文将深入解析该指导文件的核心内容,并揭示其对企业财务管理的...

    企业成本控制与成本核算方法:成本核算过程.doc

    其次,确定成本计算期是另一个重要方面。理论上,成本计算期应与产品生产周期同步,但在实际操作中,特别是连续生产或大批量生产的情况下,企业通常按照月度或季度人为设定成本计算期,以确保成本信息的及时性和实用...

    某集团房地产成本核算暂行办法.docx

    本文将基于“某集团房地产成本核算暂行办法”进行深入探讨,旨在解析房地产成本核算的核心概念、流程及注意事项。 一、成本核算的目的与意义 1. 提高经济效益:通过精确的成本核算,企业可以了解项目的盈利状况,...

    分批法成本核算

    此方法以产品批别作为成本计算对象,每一批产品的生产从开始到结束被视为一个独立的成本计算过程。下面我们将深入探讨分批法成本核算的基本原理、步骤及其在实际操作中的应用。 1. 基本原理 分批法成本核算的核心是...

    成本计算原理及联副产品成本计算PPT课件.pptx

    成本计算原理及联副产品成本计算是企业管理中的关键环节,主要涉及如何准确地核算和分配生产过程中的各项费用,以确保成本信息的准确性和决策的合理性。以下是对这些概念的详细解析: 首先,生产成本分为直接成本和...

    成本核算excel表格.rar

    在IT行业中,成本核算是一项至关重要的管理活动,它涉及到企业运营的经济效益分析,帮助企业了解产品或服务的生产成本,从而做出明智的决策。在提供的压缩包文件“成本核算excel表格.rar”中,我们可以找到一个名为...

    工业成本核算系统

    工业成本核算系统是一种专门针对制造业企业设计的管理软件,它旨在高效、准确地计算和分析生产过程中的各项成本,帮助企业管理层做出更明智的决策。系统通常包括多个模块,如物料消耗统计、人工成本计算、制造费用...

    某地产成本核算指导2.docx

    任务上,集团要求建立完善的成本核算基础工作,合理确定成本计算对象,保证成本信息的及时、准确提供,并强调解决成本管理问题的重要性,以期达到降低成本、提高效益的目标。 成本核算的基本步骤共七项。第一步是...

    PPT+某制造业公司 通用成本核算讲义+SAP成本核算

    通过精确的成本计算,企业能够更准确地预测利润,识别成本驱动因素,并制定有效的成本控制策略。 SAP的成本核算模块提供了多种成本核算方法,如标准成本核算、实际成本核算以及作业基础成本核算(Activity-Based ...

    某地产成本核算指导.docx

    1-2 成本核算的主要任务包括建立完善的成本核算基础工作,明确成本开支范围,合理确定成本计算对象,准确汇集和分配开发成本和费用,及时发现成本管理中的问题,寻求降低成本的策略。 1-3 房地产开发企业需建立成本...

    某地产集团房地产企业成本核算指南.docx

    《某地产集团房地产企业成本核算指南》是万科企业股份有限公司为加强房地产开发企业的成本管理,规范成本核算流程而制定的一份重要文件。该指南自2001年1月1日起实施,旨在通过修订原有成本核算指导,以适应不断变化...

    SAP成本计算过程

    SAP 成本计算过程 SAP 成本计算过程是 SAP 系统中的一种重要的成本计算...SAP 成本计算过程是一种复杂的过程,涉及到多个模块和多个步骤,但它能够提供精确的成本计算结果,帮助企业更好地进行成本管理和财务管理。

Global site tag (gtag.js) - Google Analytics