首页 > 其他分享 >【题解】 量化交易1

【题解】 量化交易1

时间:2024-04-29 20:36:08浏览次数:23  
标签:Case int 题解 样例 塞帕思 量化 数据 交易 applepi

题目描述

applepi训练了一个可以自动在股票市场进行量化交易的模型。通常来说,applepi写出的模型,你懂得,就好比一架印钞机。不过为了谨慎起见,applepi还是想先检查一下模型的效果。
applpie收集了“塞帕思股份(surpass)”在最近的连续N天内的价格。在每一天中,他可以做如下事情之一:
  1. 睡(把)觉(妹)。
  2. 以当天的价格作为成交价买入1股“塞帕思”的股票。
  3. 以当天的价格作为成交价卖出1股“塞帕思”的股票。
最初applepi不持有该股票。现在你需要计算出在最优策略下,N天后applepi能够获得的最大利润。为了维护森林的和平,本着清仓甩锅的原则,在N天的交易结束后applepi也不能持有“塞帕思”的股票。为了更方便进行测试,applepi想知道如果他只进行一次买和一次卖的操作,他最多能赚多少钱。
【输入格式】
  每个测试点包含若干组数据,以EOF结尾。对于每组数据:
  第一行1个整数N。
  第二行N个正整数,相邻两个整数之间用1个空格隔开,表示每一天股票的价格。
【输出格式】
  对于每组数据,首先按样例所示的格式“Case #k:”输出该组数据的编号,然后输出一个整数,表示applepi最大能够获得的利润。
【样例】
  样例输入1
    6
    2 6 7 3 5 6
    8
    1 2 3 4 5 6 7 8
  样例输出1
    Case #1: 5
    Case #2: 7
  样例输入2
    10
    15831 47573 60015 51368 32460 34125 43074 75172 54014 93578
  样例输出2
    Case #1: 77747
【数据规模与约定】
  对于50%的数据,1≤N≤1000。
  对于100%的数据,1≤N≤100000,股票价格不超过100000,每个测试点至多包含5组数据。

题解

首先,假设在第 \(i\) 天卖出股票,则在前 \(i-1\) 天中必定有一天买入了股票。那么,为了实现利润最大化,就要使买入价与卖出价的差值最大化。所以,卖出价一定时,买入的股票价格为前 \(i-1\) 天中的最低价。

AC Code:

#include <bits/stdc++.h>
using namespace std;

const int N = 1e5 + 5;
int n, a[N];

int main()
{
	int t = 0;
	while (~scanf("%d", &n))
	{
		printf("Case #%d: ", ++ t );
		int minx = INT_MAX, ans = INT_MIN;
		// minx 记录前 i-1 天中股票最低价。
		// ans 记录最大利润。 
		for (int i = 1; i <= n; i ++ )
		{
			scanf("%d", &a[i]);
			if (i != 1) ans = max(ans, max(a[i] - minx, 0));
			minx = min(minx, a[i]);
		}
		printf("%d\n", ans);
	}

	return 0;
}

标签:Case,int,题解,样例,塞帕思,量化,数据,交易,applepi
From: https://www.cnblogs.com/T-hong/p/18166536

相关文章

  • 【题解】 量化交易2
    题目描述applepi训练了一个可以自动在股票市场进行量化交易的模型。通常来说,applepi写出的模型,你懂得,就好比一架印钞机。不过为了谨慎起见,applepi还是想先检查一下模型的效果。applpie收集了“塞帕思股份(surpass)”在最近的连续N天内的价格。在每一天中,他可以做如下事情之一:......
  • 问题解决:Failed to download metadata for repo ‘appstream‘: Cannot prepare inter
    大家都知道Centos8于2021年年底停止了服务,大家再在使用yum源安装时候,出现下面错误“错误:Failedtodownloadmetadataforrepo‘AppStream’:Cannotprepareinternalmirrorlist:NoURLsinmirrorlist”1、进入yum的repos目录代码语言:javascript复制cd/etc/yum......
  • git - git 问题解决方案汇总
    git命令行相关问题汇总记录如下:在本地创建git仓库并关联远程仓库后,无法正常拉取远程更新报错信息:fatal:refusingtomergeunrelatedhistories解决方案:gitpulloriginmaster--allow-unrelated-histories解决git使用ssh无法访问服务器的问题报错信息:Error:Unab......
  • 题解:CF1957A Stickogon
    CF1957AStickogon题意题意十分简单,给予你\(n\)个棍子,问这些棍子可以构成多少个正多边形。思路说是可以构成多少个正多边形,所以我们可以用边最少的正多边形等边三角形来计数。在输入\(a\)的时候,用一个数组\(f\)来计算\(a\)出现的次数,当\(f_{a}\)等于\(3\)时,答案......
  • java代码运行出现DENIED Redis is running in protected mode because protected mode
    这个错误是因为开启了保护模式,导致出错。所以需要关闭redis的保护模式。编辑redis的redis.config  注释bind127.0.0.1 、修改protected-mode为no、修改 daemonize为no然后重启redis ......
  • 量化交易-网格策略
    作者:麦克煎蛋  出处:https://www.cnblogs.com/mazhiyong/转载请保留这段声明,谢谢! 交易策略-网格策略(一):震荡行情的套利神器交易策略-网格策略(二):如何构建网格交易策略-网格策略(三):示例操作一交易策略-网格策略(四):示例操作二......
  • 交易策略-网格策略(三):示例操作一
    作者:麦克煎蛋  出处:https://www.cnblogs.com/mazhiyong/转载请保留这段声明,谢谢!1、网格点为5%的交易示例以上示例是当指数在正常和低估值之间波动运用的网格交易策略。但市场不可能每次都是在低估和正常估值之间来回波动,大熊市的时候指数更多的是在低估区域反复震荡,这时候......
  • 交易策略-网格策略(一):震荡行情的套利神器
    作者:麦克煎蛋  出处:https://www.cnblogs.com/mazhiyong/转载请保留这段声明,谢谢!网格交易,又称渔网策略,最早的发明人,网络上的信息有分歧。有一种说法是,它的发明人是著名数学家克劳德·艾尔伍德·香农(ClaudeElwoodShannon),在研究学术之余自己炒股,将自己的数学知识发扬光大。另......
  • 交易策略-网格策略(二):如何构建网格
    作者:麦克煎蛋  出处:https://www.cnblogs.com/mazhiyong/转载请保留这段声明,谢谢!一、什么品种适合网格通过之前的文章我们已经了解了网格赚的是市场波动的钱,这样才能多次实现高买低卖。因此,震荡区间越长的标的,就越适合做网格。常用的网格标的多为ETF、可转债等类型。另外......
  • [题解]ABC351 D~F
    D-GridandMagnet[明天更]E-JumpDistanceSum一开始想到的思路很复杂,先把\(n\)个点按照\(x+y\mod\2\)分成\(2\)组,对于每一组用线段树维护……总之很繁多,虽然有完整的思路,理论上也应该可行,但是实现太麻烦就看题解了。题目描述的距离叫切比雪夫距离,也就是\(x\)坐标之差......