活动介绍
file-type

2014-2019年美国部分股票收盘价数据分析

ZIP文件

下载需积分: 9 | 37KB | 更新于2025-08-11 | 78 浏览量 | 0 下载量 举报 收藏
download 立即下载
根据提供的文件信息,我们可以梳理出以下IT知识点: ### 标题知识点: - **Matlab代码**:Matlab是一种用于算法开发、数据可视化、数据分析以及数值计算的高性能编程语言和交互式环境。Matlab代码通常指代用Matlab语言编写的脚本或函数,可以用于处理复杂的数据集和算法。 - **close-Price-data-of-part-of-US-Stocks-in-2014-2019**:这指的是部分美国股票在2014年至2019年的收盘价数据集。数据集是指大量数据的集合,常用于统计分析、机器学习和数据挖掘等领域。 ### 描述知识点: - **通过python库yfinance取自雅虎财经**:`yfinance`是一个Python库,用于从雅虎财经下载股票市场的金融数据。该库允许用户轻松获取股票的价格、历史数据、财务报表等信息。这是大数据分析和金融市场研究中的常见操作。 - **股票筛选池(eastmoney.csv,共12561支)**:筛选池指的是从东方财富网站爬取的美国股票列表,包含12561支股票。CSV(逗号分隔值)是一种常见的文件格式,用于存储表格数据,通常用作数据交换格式。 - **排除无法查询到数据的股票和在2013-12-31到2019-12-31之间无交易的股票**:这部分说明数据筛选的条件,即排除了无数据可查的股票和在指定年份内无交易记录的股票。在数据处理中,对数据质量的管控是非常重要的一步,以确保数据的有效性和准确性。 ### 标签知识点: - **系统开源**:标签“系统开源”可能意味着该Matlab代码或数据集是开放源代码的,用户可以自由地使用、修改和分发代码或数据集。开源项目通常能够得到社区的支持,吸引更多开发者共同参与和贡献。 ### 压缩包子文件的文件名称列表知识点: - **Price-data-of-part-of-US-Stocks-in-2014-2019-master**:文件名称“Price-data-of-part-of-US-Stocks-in-2014-2019-master”表明这是一个包含了部分美国股票在2014年至2019年期间价格数据的压缩包文件,并且这个文件可能是Git版本控制系统的主分支。在Git中,“master”分支通常是指项目的默认或主要分支。 ### 综合知识点: 结合以上知识点,我们可以推断,这个文件可能包含了部分美国股票在2014年至2019年期间的价格数据,这些数据是使用Python的`yfinance`库从雅虎财经抓取的,并且通过Matlab代码进行了进一步的处理和分析。该数据集被命名为“Price-data-of-part-of-US-Stocks-in-2014-2019”,并且可能包含Matlab脚本用于数据处理和可视化的开源项目。数据集排除了在指定年份内无交易记录的股票和无法获取数据的股票,确保了数据的准确性和可靠性。 对于数据分析、金融分析、Matlab编程以及Python编程等领域的专业人士来说,这样的数据集和脚本都是非常有价值的资源。它们可以用于研究股票市场的历史表现,检验不同的投资策略,以及训练和测试量化交易模型等。同时,由于数据集和代码是开源的,因此还具有一定的教育意义,可以作为学习和教学的案例。

相关推荐

filetype

import csv INITIAL_CAPITAL = 1000000 # 初始资金 MAX_STOCK_AMOUNT = 100000 # 每只股票的最大购买金额 MAX_STOCK_NUM = 10 # 同一个交易日最多买10只股票 capital = INITIAL_CAPITAL stocks = {} # 记录已购买的股票数量 trades = [] # 记录交易记录 with open('stock_data.csv') as csvfile: reader = csv.reader(csvfile) header = next(reader) # 读取表头 for row in reader: date = row[1] code = row[0] open_price = float(row[2]) high_price = float(row[4]) low_price = float(row[5]) close_price = float(row[3]) # 检查是否可以购买该股票 if code not in stocks: stocks[code] = 0 if stocks[code] >= MAX_STOCK_NUM: continue if capital <= 0: break # 检查是否出现四连阳 if len(trades) > 0 and code == trades[-1]['code']: if all(trades[-4+i]['close'] < trades[-5+i]['close'] for i in range(4)): buy_date = date buy_price = close_price sell_date = None sell_price = None holding_days = 0 for j in range(30): # 在接下来的30天内观察该股票的走势 next_row = next(reader, None) if next_row is None or next_row[1] != code: break next_close_price = float(next_row[5]) if next_close_price < close_price: holding_days += 1 if holding_days == 3: # 以当前价格购买该股票 buy_price = next_close_price stocks[code] += MAX_STOCK_AMOUNT // buy_price capital -= MAX_STOCK_AMOUNT sell_date = next_row[0] sell_price = next_close_price break else: holding_days = 0 # 记录交易记录 if sell_date is not None: profit = stocks[code] * (sell_price - buy_price) trades.append({ 'date': buy_date, 'code': code, 'buy_price': buy_price, 'sell_date': sell_date, 'sell_price': sell_price, 'profit': profit }) capital += profit # 更新股票数量和资金余额 stocks[code] = min(stocks[code], MAX_STOCK_AMOUNT // close_price) capital -= stocks[code] * close_price # 计算总收益 total_profit = sum(trade['profit'] for trade in trades) print('初始资金:', INITIAL_CAPITAL) print('总收益:', total_profit) print('剩余资金:', capital)为什么这个策略没有买入股票

weixin_38697328
  • 粉丝: 6
上传资源 快速赚钱