I think the best way to do what you want is to use ctrle to scroll up and ctrly to scroll down as the doc says:
However if you really want to use the arrow keys and have a scroll lock mechanism you could implement it yourself by adding this to your vimrc:
" This variable will hold the state of the scroll lock
" 0: disabled 1: endabled
let g:scrollLock = 0
" This command toggles the state of the scroll lock
command! ToggleScrollLock let g:scrollLock = !g:scrollLock
" If you want to avoid typing the previous command each time you can use a mapping like this one (Replace <F1> by your preferred key)
nnoremap <silent> <F1> :ToggleScrollLock<CR>
" And these are conditional mappings depending on the value of g:scrollLock the arrow keys will behave differently
nnoremap <expr> <Up> (g:scrollLock == 1) ? '<C-y>' : '<up>'
nnoremap <expr> <Down> (g:scrollLock == 1) ? '<C-e>' : '<down>'
:h :map-<expr> for more details about the last mappings.
Also I would encourage you to read
:h scrolling there is a lot of different ways to scroll through a buffer in Vim, knowing all of your options might help you understanding why Vim doesn't have a traditional scroll lock mechanism.