報酬がうまくいかない

シグモイド関数のような曲線を描く関数で、−1〜1までの値が得られるものはないかなと探していたらtanh関数が見つかったのでそれを利用したのだけれど、いつも同じ値が出てしまいまともに学習されない。
今日はもう遅いので、明日検証する。

public double calcReward(double action, Stock stock) {
	double reward = 0.0;
	AssetManager am = AssetManager.getInstance();
	TimeManager tm = TimeManager.getInstance();
	long lastTotal = am.getAssetHistory(tm.getLastBusinessDay()).getTotalAssetValue();
	long todayTotal = am.getTotalAssetValue();
	System.out.print("lastTotal:" + lastTotal + ", todayTotal:" + todayTotal);
	double x = todayTotal / lastTotal - 1;
	//reward = Math.tanh(lastTotal / todayTotal);
	reward = Math.tanh(x);
	System.out.println("報酬は:" + reward);
	return reward;
}