首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >检测时间序列中的趋势

检测时间序列中的趋势
EN

Stack Overflow用户
提问于 2013-08-01 14:31:53
回答 1查看 1.9K关注 0票数 4

我有一个psql数据库与各种股票的时间序列值。我想知道,如果股票价值在过去的45天内上涨了50%。我想要检测曲线中的这种突然变化。现在,我的重点是增加价值。大多数是二次曲线,尽管也可以找到线性/对数增长。

我稍后会讲到突然下降。对于如何在曲线中检测到这样的模式,有什么建议吗?有没有可能用sql来实现?我也愿意学习任何数学分析工具或语言。

EN

回答 1

Stack Overflow用户

发布于 2013-08-01 21:59:12

要获得这类信息,可以采取许多方法。如果此报告将每隔一段时间运行一次,那么您可以使用一个SQL查询,该查询将在较早的日期将表与自身联接起来。假设您使用date、stock_ticker和price作为字段,则查询可能如下所示:

代码语言:javascript
运行
复制
         SELECT base.date, 
                base.stock_ticker, 
                ((base.price - old.price) / old.price) as gain 
           FROM stocks as base
LEFT OUTER JOIN stocks as old
             ON base.stock_ticker = old.stock_ticker
            AND base.date = old.date + cast('45 days' as interval)

这将为您提供一个表,其中包含日期、股票代码以及自45天前的价格以来上涨了多少。这样,您就可以将其用作子查询,使用With子句为其指定别名,或者对其执行其他操作。

如果您不是在寻找一段时间内的比率,您可以使用相同的技术来获得每日平均值,并使用该数据找到移动平均值。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17986720

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档