项目简介
这是一个由个人制作的黄金价格分析工具,主要是体现黄金价格变化趋势,展示各类价格参数,个人买卖黄金时可用于参考。
主要功能
- 黄金历史价格查询及峰值分析
- 黄金买卖建议
- 黄金交易收益试算
GitHub前端仓库:https://github.com/YuboerChang/aogp-frontend
GitHub后端仓库:https://github.com/YuboerChang/aogp
业务逻辑设计
- 价格变化图表
- 折线图展示黄金价格变化,点数据用收盘数据,因为黄金基金的当日结算价格是当日的收盘价。
- 峰值分析
- 考虑到价格曲线变化较大,峰值计算也没什么标准,目前设计峰值标准为前后三天均小于或大于顶点数据即为峰值,至于三天的数据不需要比较大小,即不需要连续上涨下跌。
- 天数指的是工作日天数,基金在休息日是不开盘的。
- 买入卖出建议
- 黄金价格受到的影响比较多,据了解主要是央行储备、散户消费储值、企业资本保值等因素,而这些又与经济形势息息相关,且不具备多少可控性,这也是许多金融机构不做黄金交易的原因,价格变动不好预判,不具备多少专业性。因此,买入卖出建议,也仅仅是数据上的变化分析带来的建议,并非十分专业的投资建议。
- 波动分析找峰值,操作建议
- 顶点峰值下跌在2%以内,不建议操作。
- 顶点峰值下跌在2%-5%,建议买入。
- 顶点峰值下跌超过5%,建议大量买入。
- 谷底峰值上涨在2%以内,不建议操作。
- 谷底峰值上涨在2%-5%,建议卖出。
- 谷底峰值上涨超过5%,建议大量卖出。
- 最后一个交易日分析
- 如果存在前3天的价格都高于或低于当前价格,则判断可能是极值点,可以考虑操作。
- 交易试算
- 试算特定买入卖出日期的盈利,盈利利率。
- 关于基金管理费用问题,管理费通常在年化0.25%到0.5%之间,托管费通常在年化0.08%到0.2%之间。一般是基金托管的金融公司每日计算扣除,是统一划扣基金的钱,剩余的才算做基金净值,相当于用户是不需要考虑的。这个也提示我们,如果不是稳步上涨的基金,建议不要持有太久,否则上涨又不多,每天都在扣手续费,也是一种投资损失。
- 关于手续费问题。买入一般是不需要手续费的,而卖出手续费受黄金基金的持有天数影响。注意卖出时一定要注意持有天数,防止因过快卖出被扣过多费用。注意持有天数一般是包含休息日的,比如你周一买入,到下周一就持有7天了。买入当天是否计算,主要看是否在交易时间内,如果你在下午3点后买入,那么你实际交易被处理应该是周二开盘后了,所以你的交易时间是周二,那么周一这一天不算,到下周一实际持有天数只有6天。一般的基金交易手续费如下
- 持有天数<7天,卖出费率1.5%
- 7天<=持有天数<30天,卖出费率0.1%
- 30天<=30天,卖出费率0%
- 数据更新问题(非用户功能)
- 数据来源主要是上海黄金交易所
- 同步的话,每次查询时可以检查更新,更新至当日的前一个交易日即可。即数据库数据没有同步到上一个工作日就发起查询,如果数据能更新就更新,没有更新可能是节假日什么的,直接跳过。
- 更新的话,也不至于每次都全部对比一遍,直接更新最新的未更新日期即可。
SQL
数据库初始化
- 建立数据库
create database aogp character set utf8 collate utf8_general_ci;
- 建立数据库的用户
create user aogp@localhost identified by '123456';
grant all privileges on aogp.* to aogp@localhost;
flush privileges;
黄金价格表
- 日期
- 字符串存储即可,不用精确时间,也符合查询数据格式。
- 当日开盘价
- decimal字段,方便金融类数据操作,黄金价格一般为xxx.xx,即三位整数、小数点后两位
- 当日收盘价
- 当日最高价
- 当日最低价
- 黄金种类
- 这个暂时不做,以后需要再扩展,目前只操作Au99.99
drop table if exists gold_price;
create table gold_price (
date varchar(10) primary key,
open decimal(5,2) not null,
close decimal(5,2) not null,
lowest decimal(5,2) not null,
highest decimal(5,2) not null
) character set = utf8 collate = utf8_general_ci comment = '黄金价格' row_format = dynamic;