如何用Python编写代码计算股票的移动平均线(MA)?

2026-05-21 17:301阅读0评论SEO基础
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计432个文字,预计阅读时间需要2分钟。

如何用Python编写代码计算股票的移动平均线(MA)?

目录

1.题目描述

2.代码实现

3.运行结果

如何用Python编写代码计算股票的移动平均线(MA)?

1.题目描述

计算移动平均数(MA)。

2.代码实现

pythondef moving_average(data, window_size): averages=[] for i in range(len(data) - window_size + 1): window=data[i:i + window_size] averages.append(sum(window) / window_size) return averages

示例数据data=[1, 2, 3, 4, 5, 6, 7, 8]window_size=3

计算移动平均result=moving_average(data, window_size)

3.运行结果

python[2.0, 3.0, 4.0, 5.0, 6.0]


目录

​​1、题目描述​​

​​2、代码实现​​

​​3、运行结果​​


1、题目描述

计算移动平均值MA(MovingAverage)。如有一列数1、2、3、4、5、6、7和8,按周期为3计算,则可计算出6个值,依次为(1+2+3)/3、(2+3+4)/3、(3+4+5)/3、(4+5+6)/3、(5+6+7)/3和(6+7+8)/3。由用户输入m和n( 输入样例:
输入正整数m: 3
输入正整数n: 2

输出样例:
移动平均值序列是:[1.5, 2.5]

2、代码实现

#!/usr/bin/env python
# -*- coding:utf-8 -*-
from xlwt.compat import xrange

def fun():
m = int(input("输入正整数m:\t"))
n = int(input("输入正整数n:\t"))
result = []
for i in range(1, m + 1):
if (i <= m - n + 1):
avg = sum(list(xrange(i, i + n))) / n
result.append(avg)
print("移动平均值序列是:", result)

if __name__ == '__main__':
fun()

3、运行结果

输入正整数m: 3
输入正整数n: 2
移动平均值序列是: [1.5, 2.5]

本文共计432个文字,预计阅读时间需要2分钟。

如何用Python编写代码计算股票的移动平均线(MA)?

目录

1.题目描述

2.代码实现

3.运行结果

如何用Python编写代码计算股票的移动平均线(MA)?

1.题目描述

计算移动平均数(MA)。

2.代码实现

pythondef moving_average(data, window_size): averages=[] for i in range(len(data) - window_size + 1): window=data[i:i + window_size] averages.append(sum(window) / window_size) return averages

示例数据data=[1, 2, 3, 4, 5, 6, 7, 8]window_size=3

计算移动平均result=moving_average(data, window_size)

3.运行结果

python[2.0, 3.0, 4.0, 5.0, 6.0]


目录

​​1、题目描述​​

​​2、代码实现​​

​​3、运行结果​​


1、题目描述

计算移动平均值MA(MovingAverage)。如有一列数1、2、3、4、5、6、7和8,按周期为3计算,则可计算出6个值,依次为(1+2+3)/3、(2+3+4)/3、(3+4+5)/3、(4+5+6)/3、(5+6+7)/3和(6+7+8)/3。由用户输入m和n( 输入样例:
输入正整数m: 3
输入正整数n: 2

输出样例:
移动平均值序列是:[1.5, 2.5]

2、代码实现

#!/usr/bin/env python
# -*- coding:utf-8 -*-
from xlwt.compat import xrange

def fun():
m = int(input("输入正整数m:\t"))
n = int(input("输入正整数n:\t"))
result = []
for i in range(1, m + 1):
if (i <= m - n + 1):
avg = sum(list(xrange(i, i + n))) / n
result.append(avg)
print("移动平均值序列是:", result)

if __name__ == '__main__':
fun()

3、运行结果

输入正整数m: 3
输入正整数n: 2
移动平均值序列是: [1.5, 2.5]