目标:在中国的股票市场上盈利,每周都有单个股票盈利2%,月总盈利超过2%
计划实现方式:Pycharm + Anaconda3 + Python3 + Django + AKShare + MongoDB
目前采用的实现方式:Pycharm + Anaconda3 + Python3 + Flask + AKShare
以后可能会用到 :MongoDB , SQLAlchemy ,baostock ,Tushare
机器学习 会在以后的实践中逐步用到。
当前细分目标
1、获取A股列表
2、根据A股列表获得股票的历史数据
3、自动获取新的股票数据,并追加到已经获取的历史数据中
4、判断条件,目前有:
MACD ,股票当日收盘情况,成交量,股票所在地区,所属行业,其他待完善
5、根据判断条件使用历史数据进行测试,获得盈利概率
采集数据
具体请参考代码:
import akshare as ak
import threading
import datetime
import os
# 获得深圳主板A股列表,每天获取一次不重复获取
# file_path 需要全路径,以 | 进行间隔
# indicator 可选参数 "A股列表", "B股列表", "AB股列表", "上市公司列表", "主板", "中小企业板", "创业板"
def get_sz_a(file_path, indicator="A股列表"):
today = datetime.datetime.today()
file_name = "sz_a_" + today.strftime('%Y%m%d') + ".csv"
if not os.path.exists(file_path): # 如果路径不存在则创建
os.makedirs(file_path)
if os.path.exists(file_path + file_name):
print("今日已经获取无需再次获取," + today.strftime('%Y%m%d'))
return
stock_info_sz_df = ak.stock_info_sz_name_code(indicator=indicator)
stock_info_sz_df.to_csv(file_path + file_name, sep="|")
print('获取深圳主板A股列表并存储为CSV!' + today.strftime('%Y%m%d'))
return file_path + file_name
# 根据股票代码获取股票历史数据
# symbol 股票代码 需要前缀 sh 上海 sz 深圳,例如:sz300846
def get_stock_daily(file_path, symbol):
stock_zh_a_daily_hfq_df = ak.stock_zh_a_daily(symbol=symbol) # 返回不复权的数据
file_name = symbol + '.csv'
stock_zh_a_daily_hfq_df.to_csv(file_path + file_name)
return file_path + file_name
# 追加股票信息到文件
# symbol 股票代码 需要前缀 sh 上海 sz 深圳,例如:sz300846
def add_stock_daily(file_path_name, symbol, trade_date):
stock_zh_a_tick_163_df = ak.stock_zh_a_tick_163(code=symbol, trade_date=trade_date)
stock_zh_a_tick_163_df.to_csv(path_or_buf=file_path_name, mode="a")
return