For a method calculating expected claims in insurance I have to assume lognormal distribution. For testing I would use annual cumulated data. With a small sample capped at 20 years, my idea is to use disaggregated data - monthly, or individual claims. Now I have found hat the sum of lognormal claims is not a lognormally distributed. Are there any ideas to improve the power of the test?
Edit: The general aim is to calculate the volatility of claims by maximum likelihood estimation. The test for the distribution is Kolmogorov-Smirnov. The problem is that I would have annual data with as few as 5 years of data, and a cap after 20 years.
In pretesting with random samples from lognormal, normal and gamma distributions I get good results if the data is indeed lognormal even with 5 years of data, but the test will only decline about 5% of the gamma-distributed sample with 5 years of data (in 10,000 samples).

Here the code for the simulation, I'd be grateful for comments if there is a problem with the way I set it up.
n = 5:20
Loops = 10000
GammaRes = LogNormRes = NormRes = matrix(rep(NA, length(n)*Loops),nrow = Loops)
for(j in 1:Loops)
{
count = 0
for(i in n)
{
count = count + 1
GammaVerluste = rgamma(i, shape =2 )
LogNormVerluste = rlnorm(i)
NormVerluste = rnorm(i)
GammaRes[j,count] = ks.test(GammaVerluste, "plnorm")$p.value
LogNormRes[j,count] = ks.test(LogNormVerluste, "plnorm")$p.value
NormRes[j,count] = ks.test(NormVerluste, "plnorm")$p.value
}
}
Alpha = 0.01
DeclineGamma = DeclineNormal = DeclineLogNormal = rep(NA, length(n))
count = 0
for(i in 1:length(n))
{
DeclineGamma[i] = sum(GammaRes[,i] < Alpha)/Loops
DeclineNormal[i] = sum(NormRes[,i] < Alpha)/Loops
DeclineLogNormal[i] = sum(LogNormRes[,i] < Alpha)/Loops
}