我已阅读主题:如何计算图表的趋势线?
我正在寻找的是如何找到接触图形外部极值点的线。预期用途是计算股票图表的支撑线、阻力线。所以这不仅仅是一个简单的回归,它还应该限制接触点的数量,并且应该有一种方法可以找到相关的区间。
我会像在数学中一样处理它。首先,创建图表列表(可选)或仅创建一次所有点,一次创建 x 和 y。然后,一个具有适当条件的函数。
例如:这不是一个真正的解决方案。
import random
class StockCharts():
x_line = []
width = 100
height = 100
def startgen(self):
for y in range(0,self.height):
zeile = []
for x in range(0,self.width):
zeile.append(random.randint(0,100))
self.x_line.append(zeile)
def analyse(self, x, y):
starty = max([0,y-1])
endy = min([y+1,self.height-1])
startx = max([0,x-1])
endx = min([x+1,self.width-1])
num = 0
for sy in range(starty, endy+1):
for sx in range(startx, endx):
pass # her you can write your if-clauses
def showgen(self):
for y in range(0, self.height):
print self.x_line[y]
print
stock = StockCharts()
stock.startgen()
stock.showgen()
您可以考虑使用一种方法来计算数据的凹壳。您可能会找到现有的 python 实现。这将为您提供包含时间序列的边界。如果您希望排除数据集中的异常值,您可以在计算凹壳之前对数据应用某种过滤器或平滑处理。我不是 100% 确定您所说的“限制接触点数量”和“找到相关间隔”是什么意思,但希望这能让您入门。