# behavioral-decision-making-system
**Repository Path**: fangexuxiehuihuang/behavioral-decision-making-system
## Basic Information
- **Project Name**: behavioral-decision-making-system
- **Description**: 用于参加2022年吉林省吉数研院杯软件设计大赛的项目
- **Primary Language**: Java
- **License**: Apache-2.0
- **Default Branch**: master
- **Homepage**: http://www.lincat.work/bdms/#/
- **GVP Project**: No
## Statistics
- **Stars**: 2
- **Forks**: 0
- **Created**: 2022-11-19
- **Last Updated**: 2024-06-06
## Categories & Tags
**Categories**: Uncategorized
**Tags**: Java, Vue
## README
# 经济学行为决策实验系统
## 1.项目概要
1)项目名称
经济学行为决策实验系统(behavioral-decision-making-system)
2)项目背景
本项目用于参加由吉林省工信厅主办的2022年吉林省“吉数研院”杯软件设计大赛。本次WEB程序开发比赛的难度适中,工作量适中,题目有趣、有价值,还有很多值得讨论的问题。经过全组成员4天的努力,于2022年11月24日23时53分完成1.0.0版本项目的开发与部署工作。感谢全组成员连续几天认真专业的付出,感谢我们的指导老师给我们提供了许多指导和建议,还要特别感谢吉林大学商学院博士后和吉数研院经理陈教授给我们提供了这次宝贵的参赛机会!
3)系统介绍
本系统根据本次比赛的题目要求完成了经济学行为决策实验平台实验实施模块的开发,实现了受试者在平台上模拟基金的投资实验。系统实现了受试者行为决策实验的完整流程,较好地完成了项目需求并配以清晰的设计文档。但由于时间有限,尚未实现系统的管理端开发,在一些业务流程上进行了省略,且系统的健壮性、安全性和性能上都仍需提高。
4)系统地址:[behavioral-decision-making-system (lincat.work)](http://www.lincat.work/bdms/#/)
5)项目源码地址:[behavioral-decision-making-system (gitee.com)](https://gitee.com/fangexuxiehuihuang/behavioral-decision-making-system)
6)项目开发团队与分工
- 团队名称:人月神话
- 隶属:东北师范大学 · 信息科学与技术学院
- 指导老师:孔俊
- 成员与分工(除组长外,其余成员按姓名缩写升序排序)
| 成员姓名 | 专业 | 年级 | 承担的工作 |
| -------- | ---------- | ---- | ------------------------------------------------------------ |
| 李一帆 | 软件工程 | 硕一 | 承担成员分工协调,项目过程与管理,系统前端开发,系统前后端整合,系统部署的工作 |
| 董小萌 | 计算机技术 | 硕一 | 承担系统需求分析,系统层次方框图、ER图、原型图绘制,项目现场讲解以及ppt制作的工作 |
| 侯文科 | 计算机技术 | 硕一 | 承担系统业务流程分析,系统数据库设计,建立对象模型,以及系统测试的工作 |
| 赵坤 | 计算机技术 | 硕一 | 承担系统业务流程分析,接口设计,系统后端开发的工作 |
7)联系方式:`1043439253@qq.com`
## 2.需求分析
### 2.1数据字典
数据字典主要对项目需求中出现的领域名词、术语进行说明,以便在甲方、乙方之间建立起沟通的桥梁,更方便理解问题、明确需求。
| 索引 | 名称 | 说明 |
| ---- | ------------------------ | ------------------------------------------------------------ |
| 1 | 行为决策理论 | 行为决策理论是从组织行为学的角度探讨决策过程的理论。其理论的主要前提是,决策是组织中行为及绩效的基本过程。该理论考查实际决策中所受到的动机的、认知的及计量上的限制,找到一个“令人满意”的决策方案 |
| 2 | 行为决策实验 | 行为决策实验旨在通过计算机技术等方式,为受试者提供一套包含情境实验设计、行为实验数据收集、实验数据分析等决策实验体验项目,可以引导受试者掌握行为决策实验设计原理、熟习行为决策实验数据收集并掌握行为决策仿真实验数据分析 |
| 3 | 受试者 | 参与行为决策实验的主体 |
| 4 | 实验点数 | 决策实验中的虚拟货币,与现实世界的货币具有相应的兑率 |
| 5 | 实验 | 信息系统中进行的具体实验,一个实验包含几个周期 |
| 6 | 子实验 | 将实验的不同周期称之为它的子实验 |
| 7 | 投资任务 | 在每一个子实验中包含多次投资任务,是具体的行为决策过程 |
| 8 | 实验参数 | 每次实验可动态调节的配置参数,包括子实验周期数,实验最大持续时长,受试者初始资产等 |
| 9 | 实验报酬 | 受试者参与实验的奖励,系统将随机抽选一个周期的实验报酬作为最终报酬,通过实验点数与现实货币的兑率进行计算 |
| 10 | 可交易的风险资产(基金) | 行为决策中,受试者投资任务的客体,每只基金有各自的初始价格、涨跌幅度和上涨概率等参数 |
| 11 | 收益计算逻辑 | 用于计算受试者每轮和最终资产和收益的计算规则 |
### 2.2系统功能需求
#### 2.2.1总体功能需求
本节对系统的总体功能需求进行描述,这里的系统指“决策实验实施”的部分,不包括实验平台的管理端。一场实验要进行多个周期(子实验),每个周期完成多次投资任务,受试者从验证登录进入系统后,系统会获取本次实验的配置信息。随后受试者在个人资产配置页进行投资任务,然后进入到个人资产组合收益页面查看本轮投资的收益,随后再进入到市场价格走势页面查看基金的价格走势,并以此为依据进行下一次的投资任务。
本行为决策实验系统的系统流程图如下图所示:
#### 2.2.2决策实验实施
本系统决策实验实施模块的需求列表如下表所示:
| 索引 | 功能需求名称 | 描述 |
| ---- | ------------------------ | ------------------------------------------------------------ |
| 1 | 受试者身份验证与实验查询 | 受试者输入个人身份验证信息和座位信息,系统后端校验受试者信息,并查询是否有对应的实验,有则返回实验的参数配置,没有则返回错误提示。 |
| 2 | 实验时间控制 | 根据本场实验的最大时长进行时间控制和提示,若超过最大时长则提示实验结束,视为实验未完成,不记录实验结果,返回至登录页面 |
| 3 | 资产配置 | 受试者可以在个人资产配置页面进行投资任务,对不同基金进行资产配置的总体比例在[0,1]之间,每轮初始的资产配置会沿用上一轮的资产配置 |
| 4 | 基金价格计算 | 在每轮投资任务中,需要计算每支基金的价格,根据每支基金的上一轮价格,与其涨跌幅度以及上涨概率动态计算本轮的基金价格 |
| 5 | 计算当前收益 | 在受试者资产配置和基金价格计算后,根据这两者计算本轮投资受试者的收益情况 |
| 6 | 计算当前全部资产 | 在计算当前收益之后,计算本轮投资后受试者剩余的全部资产情况 |
| 7 | 计算累计收益 | 在计算当前全部资产之后,计算受试者自第一轮投资至今的累计收益情况 |
| 8 | 投资轮数控制 | 根据本场实验的投资轮数参数,控制一个周期的投资进度,在最后一轮投资结束,显示当前的全部资产,累计收益,和与现实货币兑换后的收益 |
| 9 | 实验周期控制 | 根据本场实验的周期(子实验)参数进行控制,在每个周期结束后控制进入下一轮子实验还是结束实验 |
| 10 | 实验结果保存 | 在实验结束后,将进入到数据收集阶段,将每轮实验的最终资产和累计收益,以及每次投资任务中基金的价格与受试者的分配比例进行记录 |
#### 2.2.3系统管理端
### 2.2系统非功能需求
本系统的性能需求如下表所示
| 索引 | 名称 | 要求 |
| ---- | ------------ | ------------------------------------------------------------ |
| 1 | 系统响应时间 | API请求响应时间应低于1s,Web网页跳转打开时间应低于5s |
| 2 | 系统可靠性 | 用户操作及信息会存入数据库中,避免出现信息丢失、泄露的情况 |
| 3 | 系统易用性 | 系统页面美观、简洁、风格统一易学,可读性强,对用户操作易用简单 |
| 4 | 系统可维护性 | 系统中的各模块、接口均具有良好的可维护性,各模块、接口功能相互独立,可进行模块式改进与调整,便于维护 |
## 3.系统设计
### 3.1系统层次方框图
本系统自顶向下地分为“决策实验实施”子系统(用户端)和“实验管理“子系统两个部分,又根据各个子系统的功能划分出了不同模块。本系统的层次方框图如下图所示:
### 3.2数据结构设计
#### 3.2.1数据库表设计
1.**tb_fund**
基金表,用于描述基金的相关信息
| 字段 | 类型 | 描述 |
| ------------ | ------------ | ---------- |
| id | Int | 主键,自增 |
| fund_name | varchar(255) | 基金名称 |
| fund_manager | varchar(255) | 基金经理 |
2.**tb_experiment**
实验表,用于配置实验相关参数
| 字段 | 类型 | 描述 |
| -------------------------------- | ------------- | ------------------------------------------------------------ |
| id | Int | 主键,自增 |
| init_asset | decimal(50,8) | 初始资产,默认初始资产为1000 |
| experiment_decision_making_count | int | 决策轮数,默认决策轮数为12 |
| experiment_least_time | int | 实验时长/s,默认实验时长为15 |
| capacity | int | 实验容量,实验最多容纳的人数 |
| exchange_rate | decimal(50,8) | 描述本次实验中实验点数和人民币的兑换比率,默认为0.05,即20实验点=1RMB |
| sub_experiment_count | int | 子实验场数,默认为3 |
| start_time | datetime | 开始时间 |
| end_time | datetime | 结束时间 |
3.**tb_sub_experiment**
具体的子实验表,用于记录每场实际的投资实验中的信息
| 字段 | 类型 | 描述 |
| ------------------ | ------------- | ------------------------------------------------------------ |
| id | Int | 主键,自增 |
| experiment_id | Int | 外键,用于说明是哪次大的实验中的子实验,关联tb_experiment表中的id |
| index | Int | 子实验的索引号,表明是第几次子实验:1、2、3... |
| calculated_asset | deciaml(50,8) | 计算后的资产 |
| accumulated_profit | deciaml(50,8) | 累计盈亏 |
4.**tb_fund_experiment_relation**
基金表和实验表的关联表,用于配置每场实验的基金的相关参数
| 字段 | 类型 | 描述 |
| ------------------ | ------------- | ----------------------------------- |
| id | Int | 主键,自增 |
| experiment_id | Int | 外键,关联tb_experiment表中的id |
| fund_id | Int | 外键,关联tb_fund表中的id |
| rise | decimal(50,8) | 基金涨幅,默认基金涨幅为0.6 |
| down | decimal(50,8) | 基金跌幅,默认基金跌幅为0.5 |
| rise_rise_probably | decimal(50,8) | 上涨概率 |
| price | decimal(50,8) | 基金初始价格,默认基金初始价格为100 |
5.**tb_allocation**
资产分配表,用于说明某个用户在某轮决策中的资产分配情况
| 字段 | 类型 | 描述 |
| ----------------- | ------------- | ----------------------------------- |
| id | Int | 主键,自增 |
| sub_experiment_id | Int | 外键,关联tb_sub_experiment表中的id |
| fund_id | Int | 外键,关联tb_fund表中的id |
| price | decimal(50,8) | 价格 |
| allocation | decimal(50,8) | 分配值 |
| index | int | 决策索引 |
6.**tb_testee**
受试者表,用于记录受试者的相关信息
| 字段 | 类型 | 描述 |
| ----------- | ------------ | ---------- |
| id | Int | 主键,自增 |
| testee_name | varchar(255) | 受试者名称 |
7.**tb_testee_experiment_relation**
受试者表和实验表的关联表,用于描述某个用户在某场实验的相关信息
| 字段 | 类型 | 描述 |
| ------------- | ------------ | ------------------------------------- |
| id | Int | 主键,自增 |
| testee_id | varchar(255) | 受试者id |
| experiment_id | int | 实验id |
| seat_sno | varchar(255) | 座位号 |
| status | tinyint | 状态(0未完成,1已完成),默认状态为0 |
#### 3.2.2E-R图
本系统的实体关系联系图如下图所示:
#### 3.2.3建立对象模型
本系统的静态模型如下图所示:
### 3.3人机交互子系统设计
根据项目需求绘制出系统的人机交互原型,用于确认需求为系统的前端实现提供样板。
### 3.4接口设计
**根路由**:`localhost:8080/bdms-api/`
1.校验受试者实验信息并获取全局配置
接口描述:根据受试者名称和座位号查询是否有相应的实验,若有,则再查询该实验是否已经做完,若做完则返回受试者已经做完的信息,无需重复实验。若未做完,则返回该实验的配置信息。若无该实验,则返回没有查询到相关实验的提示信息,不能进行实验。
路由:`/verifyTesteeInfoAndGetExperimentConfig`
请求方式:`POST`
输入数据结构:
```json
{
"testee_id":"1",
"seat_sno":"A1"
}
```
| 字段名 | 解释 |
| --------- | ------------------------------------------------------------ |
| testee_id | int型,受试者id,对应于tb_testee的id字段 |
| seat_sno | str型,受试者座位号,对应于tb_testee_experiment_relation的seat_sno字段 |
输出的数据结构:
```json
{
"code":0,
"data":{
"experiment_id":1,
"testee_id":1,
"testee_name":"李一帆",
"seat_sno":"A1",
"init_asset":1000,
"experiment_decision_making_count":12,
"experiment_least_time":900,
"sub_experiment_count":3,
"exchange_rate":0.05,
"calculated_asset":1000,
"accumulated_profit":0,
"current_profit":[],
"fund":[
{
"fund_id":1,
"fund_name":"洛阳基金",
"fund_manager":"李一帆",
"rise_probably":"0.65",
"rise":"0.06",
"down":"0.05",
"allocation_rate":[0],
"price":[100]
}
]
}
}
```
| 字段名 | 解释 |
| -------------------------------- | ------------------------------------------------------------ |
| code | int型,状态标识,成功为0,失败为不同情况的失败标识 |
| data | object型,成功为返回数据,失败为不同情况的失败原因 |
| experiment_id | int型,实验唯一标识 |
| testee_id | int型,受试者id,对应于tb_testee表中的id字段 |
| testee_name | str型,受试者名称,对应于tb_testee的name字段 |
| seat_sno | str型,受试者座位号,对应于tb_testee_experiment_relation的seat_sno字段 |
| init_asset | double型,初始资产 |
| experiment_decision_making_count | int型每场小实验包含的决策轮数 |
| sub_experiment_count | 子实验场数,默认为3 |
| experiment_least_time | int型,本次实验的时间限制,单位:秒 |
| exchange_rate | double型,本次大实验实验点与RMB的兑率 |
| calculated_asset | double型,计算后的资产,初始等于init_asset |
| accumulated_profit | double型,累计利润,初始等于0 |
| current_profit | double数组,每轮决策的利润,初始为空数组 |
| fund | object型,所有基金信息,对应于tb_funds表 |
| fund_id | int型,基金id |
| fund_name | str型,基金名称 |
| fund_manager | str型,基金经理名称 |
| rise_probably | double型,基金上涨概率 |
| rise | double型,基金上涨幅度 |
| down | double型,基金下降幅度 |
| allocation_rate | double型,每轮决策的分配数,空数组 |
| price | double型,每轮决策的基金价格,空数组 |
2.实验结果记录
接口描述:在一次大实验的多次小实验结束后,记录所有数据。需要填充每一轮的tb_sub_experiment和每一轮tb_sub_experiment中的tb_allocation,其中index可以按循环顺序直接填就行,并注意最后将实验状态tb_experiment的状态status改为1
路由:`/saveExperimentResult`
请求方式:`POST`
输入数据结构:
```json
{
"experiment_id":1,
"testee_id":1,
"sub_experiment":[
{
"calculated_assetdeciaml":1006,
"accumulated_profitdeciaml":6,
"fund":[
{
"fund_id":1,
"allocationRate":[],
"price":[]
}
]
}
]
}
```
| 字段名 | 解释 |
| ------------------------- | ---------------------------------------------- |
| experiment_id | int型,实验id,对应于tb_experiment表中的id字段 |
| testee_id | int型,受试者id,对应于tb_testee表中的id字段 |
| sub_experiment | 子实验,对象列表 |
| calculated_assetdeciaml | double型,本场实验最终的资产 |
| accumulated_profitdeciaml | double型,本场实验累计盈亏 |
| fund | int型,基金id |
| fund_id | double型,初始资产 |
| allocationRate | double型,每轮决策的分配数 |
| price | double型,每轮决策的基金价格 |
输出数据结构:
```json
{
"code":0,
"data":null
}
```
| 字段名 | 解释 |
| ------ | -------------------------------------------------- |
| code | int型,状态标识,成功为0,失败为不同情况的失败标识 |
| data | object型,成功为返回null,失败为不同情况的失败原因 |
## 4.系统实现
### 4.1开发环境
| 端 | 硬件 | 操作系统 |
| ---------- | ------------ | ---------- |
| 系统服务端 | 拯救者R720 | Windows 10 |
| 系统前端 | 拯救者 Y7000 | Windows 10 |
### 4.2技术选型
| 端 | 技术栈 |
| ---------- | ----------------------------------------------------- |
| 系统服务端 | jdk 1.8 + Maven + springboot + mybatis-plus + swagger |
| 系统前端 | Vue + element-ui + axios + webpack |
| 系统数据库 | mysql 5.7 |
| 版本控制 | git |
### 4.3开发工具
| 项 | 工具 |
| ---------------- | ------------------ |
| 系统服务端 | IntelliJ IDEA |
| 数据库可视化工具 | navicate |
| 系统前端 | visual studio code |
| 文档编辑器 | typora |
| 绘图工具 | viso、ProcessOn |
| 原型设计工具 | Axure RP 9 |
| 服务器可视化工具 | MobaXterm |
| 代码仓库 | gittee |
### 4.4系统运行环境
#### 4.4.1系统服务器
| 运营商 | 产品 | 操作系统 |
| ------ | ------------ | ---------- |
| 腾讯云 | 轻应用服务器 | Centos 6.7 |
#### 4.4.2系统后端运行环境
| 虚拟容器 | 容器 | 运行版本 |
| -------- | ------ | -------- |
| docker | tomcat | jre 1.8 |
#### 4.4.3系统前端运行环境
| 容器 |
| ----------------------------- |
| 阿帕奇基金开源HTTP服务器httpd |
### 4.5系统测试
通过基于线程的13次系统验收测试来验证系统的正确性,测试结果为系统表现正确,符合预期的需求。
| 用例编号 | 所属模块 | 用例标题 | 前置条件 | 输入数据 | 操作步骤 | 预测结果 | 实际结果 |
| -------- | -------- | ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ | --------------------------------------------------- | ------------------------------------------------------------ | ------------------------------------------------------------ |
| test_1 | 登录 | 数据库已有学号,座位号 | 输入学号和座位号,点击登录 | 学号:2022103263
座位号:A1 | 1:输入学号
2:输入座位号
3:点击"登录" | 1:学号被填充
2:座位号被填充
3:登录成功,跳转到实验等待页面 | 1:学号被填充
2:座位号被填充
3:登录成功,跳转到实验等待页面 |
| test_2 | 登录 | 数据库未有学号/学号或座位号未填/数据库已有帐号,输入错误座位号 | 输入学号和座位号,点击登录 | 1.学号:2022103201
座位号:A1
2.学号:2022103201
座位号:
3.学号:2022103263
座位号:D1
| 1:输入学号
2:输入座位号
3:点击"登录" | 1:学号被填充
2:座位号被填充
3:弹出提示框"没有找到匹配的实验!" | 1:学号被填充
2:座位号被填充
3:弹出提示框"没有找到匹配的实验!" |
| test_3 | 实验等待 | 实验等待 | 完成登录 | - | - | 右上角显示秒数,进度条滑动,页面等待5秒,自动进入个人资产配置界面 | 右上角显示秒数,进度条滑动,页面等待5秒,自动进入个人资产配置界面 |
| test_4 | 实验 | 实验剩余时间为0,但并未完成实验 | 实验等待进入 | - | 在个人资产配置界面不操作,停留15分钟时间 | 系统关闭,弹出提示框"实验时长超过最大时长,实验结束",返回登陆界面 | 系统关闭,弹出提示框"实验时长超过最大时长,实验结束",返回登陆界面 |
| test_5 | 实验 | 实验剩余时间为0,完成实验 | 实验等待进入 | | 在15分钟时间内完成对12轮个人资产配置 | 进入实验结果显示界面 | 进入实验结果显示界面 |
| test_6 | 实验 | 首次配置资产 | 实验等待进入 | - | - | 左上角显示为第一轮,右上角显示实验剩余时间,各基金配置资产比例都为0%,未配置资产比例为100% | 左上角显示为第一轮,右上角显示实验剩余时间,各基金配置资产比例都为0%,未配置资产比例为100% |
| test_7 | 实验 | 非首次配置资产 | 完成上一轮基金资产配置 | - | - | 左上角显示为该轮次,右上角显示实验剩余时间,各基金配置资产比例都为上轮配置资产比例,未配置资产比例加已配置资产比例等于1 | 左上角显示为该轮次,右上角显示实验剩余时间,各基金配置资产比例都为上轮配置资产比例,未配置资产比例加已配置资产比例等于1 |
| test_8 | 实验 | 基金配置资产比例 | 实验等待进入 | 1.洛阳基金:30%
2.本溪基金:40%
3.驻马店基金:60%
4.七台河基金:10% | 1.滑动进度条到相应的配置资产比例 | 1.弹出提示框"总配置比例不能超过100%!"
2.各基金资产配置比例全部归为0% | 1.弹出提示框"总配置比例不能超过100%!"
2.各基金资产配置比例全部归为0% |
| test_9 | 实验 | 配置资产,每轮显示结果 | 实验等待进入 | 1.洛阳基金:10%
2.本溪基金:20%
3.驻马店基金:20%
4.七台河基金:10% | 1.滑动进度条到相应的配置资产比例2.点击"确认" | 1.个人资产组合市值:1014.00000000
2.本轮收益:14.00000000
3.累计收益:14.00000000
4.画出各基金对应趋势图 | 1.个人资产组合市值:1014.00000000
2.本轮收益:14.00000000
3.累计收益:14.00000000
4.画出各基金对应趋势图 |
| test_10 | 实验 | 配置资产,每轮显示结果 | 第一轮资产配置为
1.洛阳基金:10%
2.本溪基金:20%
3.驻马店基金:20%
4.七台河基金:10% | 1.洛阳基金:10%
2.本溪基金:20%
3.驻马店基金:20%
4.七台河基金:10% | 1.滑动进度条到相应的配置资产比例2.点击"确认" | 1.个人资产组合市值:1017.04200000
2.本轮收益:3.04200000
3.累计收益:17.04200000
4.画出各基金对应趋势图 | 1.个人资产组合市值:1017.04200000
2.本轮收益:3.04200000
3.累计收益:17.04200000
4.画出各基金对应趋势图 |
| test_11 | 实验 | 第一次实验结果显示 | 每一轮基金资产配置比例都为测试用例 | 1.洛阳基金:10%
2.本溪基金:20%
3.驻马店基金:20%
4.七台河基金:10% | 1.滑动进度条到相应的配置资产比例2.点击"确认" | 1.个人资产组合市值:1117.23751885
2.本轮收益:117.23751885
3.兑换后的累计盈亏(元):5.86187594
| 1.个人资产组合市值:1117.23751885
2.本轮收益:117.23751885
3.兑换后的累计盈亏(元):5.86187594
|
| test_12 | 实验 | 第二次实验结果显示 | 每一轮基金资产配置比例都为测试用例 | 1.洛阳基金:10%
2.本溪基金:20%
3.驻马店基金:20%
4.七台河基金:10% | 1.滑动进度条到相应的配置资产比例2.点击"确认" | 1.个人资产组合市值:969.05257505
2.本轮收益:-30.94742495
3.兑换后的累计盈亏(元):-1.54737125 | 1.个人资产组合市值:969.05257505
2.本轮收益:-30.94742495
3.兑换后的累计盈亏(元):-1.54737125 |
| test_13 | 实验 | 第三次实验结果显示 | 每一轮基金资产配置比例都为测试用例 | 1.洛阳基金:10%
2.本溪基金:20%
3.驻马店基金:20%
4.七台河基金:10% | 1.滑动进度条到相应的配置资产比例2.点击"确认" | 1.个人资产组合市值:1029.73377941
2.本轮收益:29.73377941
3.兑换后的累计盈亏(元):1.48668897 | 1.个人资产组合市值:1029.73377941
2.本轮收益:29.73377941
3.兑换后的累计盈亏(元):1.48668897
4.弹出提示框"实验全部结束,感谢您的参与" |
2)实验等待页面
受试者登录之后进入实验等待页面,会有5秒钟等待时间进入资产配置页面
3)配置资产比例页面
受试者根据自己的决策来选择对应的配置资产比例
4)每轮资产收益页面
受试者每一轮决策后,会显示出当前个人资产组合市值、本轮收益、累计收益以及基金市场价格走势图
5)每次实验资产收益页面
受试者每一场实验结束后,会显示出当前个人资产组合市值、累计盈亏以及兑换后的累计盈亏(元)
