`

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

 
阅读更多
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;
	}
}

 

分享到:
评论

相关推荐

    成本价分布主图源码通达信指标公式源码.doc

    总的来说,这个成本价分布主图源码是通达信用户自定义的一个技术指标,通过计算不同成本区间的平均价格,帮助投资者了解市场中不同群体的持仓成本,进而辅助决策。通过观察这些成本分布指标,投资者可以更好地识别...

    PCB成本核算及价格.pdf

    PCB成本核算及价格.pdf

    金蝶 K3 存货及成本核算操作指南

    金蝶 K3 存货及成本核算操作指南是企业中非常重要的一部分,它涉及到存货成本计算、存货核算、实际成本计算等多个方面。下面将对这些知识点进行详细的解释和分析。 一、存货成本计算前的检查 在进行存货成本计算前...

    股票补仓成本计算神器

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

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

    不同的交易系统对成本价的计算方式可能不同,客户需要了解自己的交易系统对成本价的计算方式,以避免出现不一致的情况。 客户可以通过修改成本价类型来达到一致的显示结果。 盈亏金额的计算公式为:盈亏金额=〔...

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

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

    金蝶K3成本核算说明

    综上所述,金蝶K3成本核算流程涵盖了从产量记录、费用归集到成本计算的全过程。通过这一系列的操作,企业能够有效地管理成本,优化生产过程,提高经济效益。在实际操作过程中,需要注意各项数据的准确性,以确保最终...

    某公司成本核算汇总资料某地产.docx

    1. **成本核算的基本步骤**:这是任何企业进行成本计算的基础,通常包括成本的识别、收集、分配和计算。企业首先需要明确各项活动和产品产生的成本,然后将这些成本数据进行系统地记录和汇总。 2. **成本核算工具的...

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

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

    成本核算.zip

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

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

    这份文档《某地产成本核算指导4.docx》是万科企业股份有限公司针对房地产开发企业的成本核算制定的一份指导规范,旨在规范成本核算流程,提高成本控制效率。 **第一章 总则**强调了成本核算的重要性,其目的是加强...

    货品管理成本价-批量.docx

    2. 输入新的成本价格或者选择相应的成本价计算公式(例如:按原价的一定比例调整)。 3. 确认输入无误后,点击“确定”按钮,系统会返回设置成本价的页面。 4. 在此页面上,务必点击“保存”以确保成本价的更新被...

    某医院第一季度全成本核算报告.doc

    某医院在2006年第一季度进行了全成本核算,通过对25种主要统计报表的数据分析,包括收入成本收益、成本构成、变化趋势以及主要经营指标,以评估医院的收益效率和成本控制。 【收入成本收益分析】 收入成本收益分析...

    某地产房地产公司成本核算指导.docx

    房地产开发企业的成本核算工作遵循国家会计制度和集团财务规定,目的是建立完善的成本核算基础,合理划分成本计算对象,准确归集和分配成本费用,及时发现成本管理问题,以寻求降低成本的途径。企业需设立成本核算...

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

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

    制造业成本核算流程

    成本核算涉及到进销存、生产和财务管理等多个环节,每一个环节的数据准确性都会影响最终的成本计算结果。本文将详细介绍制造业中成本核算的基本流程,特别是采用月加权平均法计算产品成本的过程。 #### 二、成本...

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

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

    完整第3章成本核算--(2)辅助生产作业及答案.doc

    成本核算--辅助生产作业及答案 成本核算是指对企业在生产过程中所发生的各种成本进行核算和管理,以便于企业更好地控制成本,提高经济效益。成本核算的内容包括直接材料成本、直接人工成本、制造费用、销售费用、...

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

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

    Oracle标准成本核算

    Oracle标准成本核算是Oracle财务模块中的一个重要组成部分,它主要用于企业进行成本管理与控制,帮助企业实现精细化的成本计算,提高运营效率,降低生产成本。在Oracle系统中,标准成本核算提供了全面的工具来预测、...

Global site tag (gtag.js) - Google Analytics