关于库存成本移动加权平均的问题

new4everlau 2018-02-08 01:53:56
有一个表,其中包含所有出、入库记录,为了简化,我将这个表简化为不区分物料(也就是假设就一种),但是此表的所有出库成本单价全部为空,求一个SQL,完成所有出库成本单价和成本的更新语句。
成本采用移动加权平均算法。
谢谢。
InOrOut Date Qty UnitCost Cost
1 2017-09-01 100 23.00 2300.00
1 2017-09-10 400 22.50 9000.00
-1 2017-09-12 300 NULL NULL
1 2017-09-20 200 22.00 4400.00
-1 2017-09-25 300 NULL NULL
1 2017-09-30 333 20.00 6660.00
...全文
3350 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
acen_chen 2018-02-11
  • 打赏
  • 举报
回复
写个过程遍历一下更新吧
firer2006 2018-02-09
  • 打赏
  • 举报
回复
数据列没有主键,默认数据是按日期排序生成一个标识列 alter table table_1 add flow int IDENTITY(1,1) DECLARE @flow varchar(100) DECLARE authors_cursor CURSOR FOR Select date from table_1 where UnitCost is null order by flow OPEN authors_cursor FETCH NEXT FROM authors_cursor INTO @flow WHILE @@FETCH_STATUS = 0 BEGIN update table_1 set UnitCost=(select sum(Cost*InOrOut)/SUM(qty*InOrOut) from table_1 where flow<@flow) where flow=@flow update table_1 set Cost=UnitCost*Qty where flow=@flow FETCH NEXT FROM authors_cursor INTO @flow END close authors_cursor DEALLOCATE authors_cursor
new4everlau 2018-02-08
  • 打赏
  • 举报
回复
引用 1 楼 sinat_28984567 的回复:
楼主给的是测试数据吗? 结果是什么样的?基本计算规则
是测试数据 基本规则就是移动加权平均算法,解释如下: InOrOut Date Qty UnitCost Cost 1 2017-09-01 100 23.00 2300.00 1 2017-09-10 400 22.50 9000.00 -1 2017-09-12 300 A1 B1 --上面2条记录入库,其成本单价为(2300+9000)/(100+400) = 22.6,所以这条的出库成本单价A1 = 22.6,B1 = 300*22.6=6780 1 2017-09-20 200 22.00 4400.00 -1 2017-09-25 300 A2 B2 --此条出库成本单价为:上面结余成本/当前库存,即A2 = (2300+9000-6780+400)/(100+400-300+200) = 8920/400 = 22.3,B2 = 6690 1 2017-09-30 333 20.00 6660.00
日月路明 2018-02-08
  • 打赏
  • 举报
回复
最直接的做法,从第一条记录开始便利,按成本价=(当前库存*当前成本价+入库数量*入库价格)/(当前库存+入库数量)
二月十六 2018-02-08
  • 打赏
  • 举报
回复
楼主给的是测试数据吗? 结果是什么样的?基本计算规则
本课程主要讲解如下内容:引言NumPy多维数组ndarrayNumPy创建数组1、KNN算法背景02、KNN中距离度量03、KNN分类算法流程04、手写KNN分类算法05、KNN回归算法流程 06 量化交易  量化交易是指以先进的数学模型替代人为的主观判断,利用计算机技术从庞大的历史数据中海选能带来超额收益的多种“大概率”事件以制定策略,极大地减少了投资者情绪波动的影响,避免在市场极度狂热或悲观的情况下作出非理性的投资决策。 定量投资和传统的定性投资本质上来说是相同的,二者都是基于市场非有效或弱有效的理论基础。两者的区别在于定量投资管理是“定性思想的量化应用”,更加强调数据。量化交易具有以下几个方面的特点: 1、纪律性。根据模型的运行结果进行决策,而不是凭感觉。纪律性既可以克制人性中贪婪、恐惧和侥幸心理等弱点,也可以克服认知偏差,且可跟踪。 2、系统性。具体表现为“三多”。一是多层次,包括在大类资产配置、行业选择、精选具体资产三个层次上都有模型;二是多角度,定量投资的核心思想包括宏观周期、市场结构、估值、成长、盈利质量、分析师盈利预测、市场情绪等多个角度;三是多数据,即对海量数据的处理。 3、套利思想。定量投资通过多面、系统性的扫描捕捉错误定价、错误估值带来的机会,从而发现估值洼地,并通过买入低估资产、卖出高估资产而获利。 4、概率取胜。一是定量投资不断从历史数据中挖掘有望重复的规律并加以利用;二是依靠组合资产取胜,而不是单个资产取胜。 量化投资技术包括多种具体方法,在投资品种选择、投资时机选择、股指期货套利、商品期货套利、统计套利和算法交易等领域得到广泛应用。在此,以统计套利和算法交易为例进行阐述。 1、统计套利 [1]  统计套利是利用资产价格的历史统计规律进行的套利,是一种风险套利,其风险在于这种历史统计规律在未来一段时间内是否继续存在。 统计套利的主要思路是先找出相关性most好的若干对投资品种,再找出每一对投资品种的长期均衡关系(协整关系),当某一对品种的价差(协整方程的残差)偏离到一定程度时开始建仓,买进被相对低估的品种、卖空被相对高估的品种,等价差回归均衡后获利了结。股指期货对冲是统计套利较常采用的一种操作策略,即利用不同国家、地区或行业的指数相关性,同时买入、卖出一对指数期货进行交易。在经济全球化条件下,各个国家、地区和行业股票指数的关联性越来越强,从而容易导致股指系统性风险的产生,因此,对指数间的统计套利进行对冲是一种低风险、高收益的交易方式。 2、算法交易。 算法交易又称自动交易、黑盒交易或机器交易,是指通过设计算法,利用计算机程序发出交易指令的方法。在交易中,程序可以决定的范围包括交易时间的选择、交易的价格,甚至包括most后需要成交的资产数量。 算法交易的主要类型有: (1) 被动型算法交易,也称结构型算法交易。该交易算法除利用历史数据估计交易模型的关键参数外,不会根据市场的状况主动选择交易时机和交易的数量,而是按照一个既定的交易方针进行交易。该策略的的核心是减少滑价(目标价与实际成交均价的差)。被动型算法交易most成熟,使用也most为广泛,如在国际市场上使用most多的成交加权平均价格(VWAP)、时间加权平均价格(TWAP)等都属于被动型算法交易。 (2) 主动型算法交易,也称机会型算法交易。这类交易算法根据市场的状况作出实时的决策,判断是否交易、交易的数量、交易的价格等。主动型交易算法除了努力减少滑价以外,把关注的重点逐渐转向了价格趋势预测上。 (3) 综合型算法交易,该交易是前两者的结合。这类算法常见的方式是先把交易指令拆开,分布到若干个时间段内,每个时间段内具体如何交易由主动型交易算法进行判断。两者结合可达到单纯一种算法无法达到的效果。 算法交易的交易策略有三:一是降低交易费用。大单指令通常被拆分为若干个小单指令渐次进入市场。这个策略的成功程度可以通过比较同一时期的平均购买价格与成交量加权平均价来衡量。二是套利。典型的套利策略通常包含三四个金融资产,如根据外汇市场利率平价理论,国内债券的价格、以外币标价的债券价格、汇率现货及汇率远期合约价格之间将产生一定的关联,如果市场价格与该理论隐含的价格偏差较大,且超过其交易成本,则可以用四笔交易来确保无风险利润。股指期货的期限套利也可以用算法交易来完成。三是做市。做市包括在当前市场价格之上挂一个限价卖单或在当前价格之下挂一个限价买单,以便从买卖差价中获利。此外,还有更复杂的策略,如“基准点“算法被交易员用来模拟指数收益,而”嗅探器“算法被用来发现most动荡或most不稳定的市场。任何类型的模式识别或者预测模型都能用来启动算法交易。  量化交易一般会经过海量数据仿真测试和模拟操作等手段进行检验,并依据一定的风险管理算法进行仓位和资金配置,实现风险most小化和收益most大化,但往往也会存在一定的潜在风险,具体包括: 1、历史数据的完整性。行情数据不完整可能导致模型与行情数据不匹配。行情数据自身风格转换,也可能导致模型失败,如交易流动性,价格波动幅度,价格波动频率等,而这一点是量化交易难以克服的。 2、模型设计中没有考虑仓位和资金配置,没有安全的风险评估和预防措施,可能导致资金、仓位和模型的不匹配,而发生爆仓现象。 3、网络中断,硬件故障也可能对量化交易产生影响。 4、同质模型产生竞争交易现象导致的风险。 5、单一投资品种导致的不可预测风险。 为规避或减小量化交易存在的潜在风险,可采取的策略有:保证历史数据的完整性;在线调整模型参数;在线选择模型类型;风险在线监测和规避等。 量化策略是指使用计算机作为工具,通过一套固定的逻辑来分析、判断和决策。量化策略既可以自动执行,也可以人工执行。 [2]  一个完整的量化策略包含哪些内容? 一个完整的策略需要包含输入、策略处理逻辑、输出;策略处理逻辑需要考虑选股、择时、仓位管理和止盈止损等因素。 选股 量化选股就是用量化的方法选择确定的投资组合,期望这样的投资组合可以获得超越大盘的投资收益。常用的选股方法有多因子选股、行业轮动选股、趋势跟踪选股等。 1 多因子选股 多因子选股是most经典的选股方法,该方法采用一系列的因子(比如市盈率、市净率、市销率等)作为选股标准,满足这些因子的股票被买入,不满足的被卖出。比如巴菲特这样的价值投资者就会买入低PE的股票,在PE回归时卖出股票。 2 风格轮动选股 风格轮动选股是利用市场风格特征进行投资,市场在某个时刻偏好大盘股,某个时刻偏好小盘股,如果发现市场切换偏好的规律,并在风格转换的初期介入,就可能获得较大的收益。 3 行业轮动选股 行业轮动选股是由于经济周期的的原因,有些行业启动后会有其他行业跟随启动,通过发现这些跟随规律,我们可以在前者启动后买入后者获得更高的收益,不同的宏观经济阶段和货币政策下,都可能产生不同特征的行业轮动特点。 4 资金流选股 资金流选股是利用资金的流向来判断股票走势。巴菲特说过,股市短期是投票机,长期看一定是称重机。短期投资者的交易,就是一种投票行为,而所谓的票,就是资金。如果资金流入,股票应该会上涨,如果资金流出,股票应该下跌。所以根据资金流向就可以构建相应的投资策略。 5 动量反转选股 动量反转选股方法是利用投资者投资行为特点而构建的投资组合。索罗斯所谓的反身性理论强调了价格上涨的正反馈作用会导致投资者继续买入,这就是动量选股的基本根据。动量效应就是前一段强势的股票在未来一段时间继续保持强势。在正反馈到达无法持续的阶段,价格就会崩溃回归,在这样的环境下就会出现反转特征,就是前一段时间弱势的股票,未来一段时间会变强。 6 趋势跟踪策略 当股价在出现上涨趋势的时候进行买入,而在出现下降趋势的时候进行卖出,本质上是一种追涨杀跌的策略,很多市场由于羊群效用存在较多的趋势,如果可以控制好亏损时的额度,坚持住对趋势的捕捉,长期下来是可以获得额外收益的。 择时 量化择时是指采用量化的方式判断买入卖出点。如果判断是上涨,则买入持有;如果判断是下跌,则卖出清仓;如果判断是震荡,则进行高抛低吸。  常用的择时方法有:趋势量化择时、市场情绪量化择时、有效资金量化择时、SVM量化择时等。 
进销存系统 需 求 说 明 书 作者: 完成日期: 审核人: 审核日期: 批准日期: XXXX公司 目录 第一章: 客户群体 4 第二章: 客户的信息化现状及市场办公系统现状 4 第三章: 软件的应用范围 4 第四章: 软件部署后的运行环境描述 4 第五章: 软件的性能要求 4 第六章: 软件的稳定性要求 4 第七章: 软件的扩展性要求 4 第八章: 软件支撑平台的要求 4 第九章: 软件的业务功能要求 5 9.1 建立帐套 5 9.2 录入基础资料 5 9.2.1 客户档案 5 9.2.2 员工档案 6 9.2.3 仓库档案 6 9.2.4 资金帐户 6 9.2.5 其他费用支出项目 6 9.2.6 其他收入项目 7 9.2.7 常用商品档案 7 9.3 录入建帐期初数据 7 9.3.1 期初商品库存 7 9.3.2 期初应付款 8 9.3.3 期初应收款 8 9.3.4 期初现金银行 8 9.3.5 期初借入款余额 8 9.3.6 期初借出款余额 8 9.4 进货管理 8 9.4.1 进货管理 8 9.4.2 收付款 11 9.5 销售管理 16 9.5.1 销售管理 16 9.5.2 收退款 19 9.6 存货管理 23 9.6.1 商品库存 23 9.6.2 其他方式入库 24 9.6.3 其他方式出库 24 9.6.4 仓库调拨 24 9.6.5 盘点盈余 24 9.6.6 盘点亏损 25 9.6.7 组装与拆卸 25 9.7 财务管理 26 9.7.1 现金银行 26 9.7.2 银行存取 26 9.7.3 其他收入 26 9.7.4 其他费用支出 26 9.7.5 对外借款(借入) 27 9.7.6 对外借款(借出) 27 第十章: 查询及报表 27 第十一章: 系统管理 27 第十二章: 参考资料 27 第一章:客户群体 第二章:客户的信息化现状及市场办公系统现状 第三章:软件的应用范围 第四章:软件部署后的运行环境描述 硬件环境: 操作系统: 应用服务器: 数据库: 第五章:软件的性能要求 第六章:软件的稳定性要求 第七章:软件的扩展性要求 短期内用户的增加速度会很快,这样一方面在考虑用户服务器的负载能力,另一方面要考虑网络的带宽。 第八章:软件支撑平台的要求 网络环境: 服务器端: 客户端: 硬件环境: 服务器: 高性能专用数据库服务器和程序运行服务器。 操作系统: 服务器: 数据库: 第九章:软件的业务功能要求 进销存业务总体流程图: 9.1 词汇解释  加权平均加权平均法,亦称全月一次加权平均法,是指以当月全部进货数量加上月初存货数量作为权数,去除当月全部进货成本加上月初存货成本,计算出存货的加权平均单位成本,以此为基础计算当月发出存货的成本和期末存货的成本的一种方法。 存货的加权平均单位成本=(月初结存货成本+本月购入存货成本)/(月初结存存货数量+本月购入存货数量) 月末库存存货成本=月末库存存货数量×存货加权平均单位成本 本期发出存货的成本=本期发出存货的数量×存货加权平均单位成本 或 =期初存货成本+本期收入存货成本-期末存货成本 加权平均法,在市场预测里,就是在求平均数时,根据观察期各资料重要性的不同,分别给以不同的权数加以平均的方法。  其特点是:所求得的平均数,已包含了长期趋势变动。  加权平均法的优缺点:  优点:计算方法简单。  缺点:不利于核算的及时性;在物价变动幅度较大的情况下,按加权平均单价计算的期末存货价值与现行成本有较大的差异。适合物价变动幅度不大的情况。  A鸡蛋34元一个,买了10个,B鸡蛋买了45元一个,买了20个,问买了A鸡蛋和B鸡蛋的平均价格是多少?  这时肯定不能用算术平均,直接(34+45)/2,因为他们买的数量不一样,因此要计算他们的平均价格,只能用所买的数量作为权数,进行加权平均:  (34×10+45×20)/(10+20)= 1240 /30 = 41.33元/个  移到加权平均移动加权平均法,是指以每次进货的成本加上原有库存存货的成本,除以每次进货数量与原有库存存货的数量之和,据以计算加权平均单位成本,以此为基础计算当月发出存货的成本和期末存货的成本的一种方法. 移动加权平均法: 移动加权平均法下库存商品的成本价格根据每次收入类单据自动加权平均;其计算方法是以各次收入数量和金额与各次收入前的数量和金额为基础,计算出移动加权平均单价。其计算公式如下: 移动加权平均单价= (本次收入前结存商品金额+本次收入商品金额)/(本次收入前结存商品数量+本次收入商品数量 ) 移动加权平均法计算出来的商品成本比较均衡和准确,但计算起来的工作量大,一般适用于经营品种不多、或者前后购进商品的

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧