|
改了一下,这次运算应该没啥问题了
6 g/ b u+ k9 k' J8 ~1 x: {$ i: S; p8 F
3 G+ B& v1 F" m3 G s8 J; Mcapture program drop hello
' ?; m" ?( P: n4 W
2 A8 f' a9 z: m- Z Cprogram hello
5 k$ q+ j. ]2 a2 E b" h s* H$ M9 d |# k7 V4 q5 z' j" }
quietly {
5 t2 a' j+ F2 _; G2 a/ |4 I
" E! h4 ~4 c* s( a4 E$ Y3 z2 Yclear3 y: n% q; W: \ w! ~
8 ^( n. g% D. C1 a3 ^$ t0 N& }" Ecd e:\finance\stock\20110101\source
. W. p. a3 f+ K3 h- v! p: E; h M' ~: @
insheet using `1'.txt
4 E0 K) U" P' w4 |: w& T8 W3 ]8 j& Q7 {3 q
keep if v5>0# g# f( f. X ?% f8 s0 Z5 r
& I* w% p0 k# X: i' F/ {- ?
gen vt=_n4 z8 G: F* t0 ?3 I
, j) j, t: ` a1 I8 \' r8 T7 B
tsset vt$ c5 O5 X7 p# M s
) V% m! h! n1 J' P+ S) l+ s
gen zf=D1.v5
( h5 {, O5 E+ q8 o/ @) F9 g+ n+ W. s( g/ B
gsort -v1, t! K% z* D; Q: `% k+ I
' l3 x* n' T, x. a2 E- D, c gen avol=v7/v5' G N$ u+ V- c! \* { p
8 t5 L2 f! d( A% g4 A7 U
keep if avol>01 s9 E8 v4 Z4 _; }4 K, c- }0 M# T
3 G& ~( c! z9 h, w1 `7 B( y
drop vt, @2 a, u; q: i, K6 U2 j
1 m3 z8 W# g* \3 [; a6 J) H8 n
gen vt=_n
, ?9 T* K6 [& B8 _ ) i( _+ c$ b+ ^! ^0 v4 x
tsset vt
2 T. A7 p+ g2 a0 P( C+ K6 @2 a6 X
9 b4 r' Z- q, V" a7 H' v, l$ T sum v5 [aw =avol]
! P* G# _) _& C: h" {: ?8 B/ g1 X' A4 W
gen amean=r(mean) in 1/ @( H3 {& _# p! W% |5 _
; d* p* x, q+ v5 O
* 总加权平均值 amean
$ _/ E' Z+ `- }7 A3 ^* ]
) m8 k& q* Q5 g: N" ? 4 b! \) `# z. o
keep in 1/2406 ]8 y6 G4 t* d) e
& A0 d- C5 Z0 J
sum v5 [aw =avol]
( D; U% H, N& W' ?1 |, E' M
1 Y4 k+ j* Z- k: T9 i gen mean240=r(mean) in 11 c y% U5 x: M" @; ~
* P+ R. j, G# A5 \! S# ?. N1 c$ {3 l *240加权平均值 mean2408 Y' k$ k2 U9 `
% |7 o {- V! l
set obs 500 ( c& l5 U8 e2 t: l; t/ g }
( ^$ h6 _9 _' g* |7 T kdensity v5 [aw =avol],gaussian n(500) generate(dx240 dy240) nograph& O5 v+ g2 [) i
; ?' k1 Z$ U p+ I; N *240 kdensity(dx240 dy240)
" E8 n, r2 P: }+ \! [, ]2 P
9 ~ m6 }+ H. l7 r; e) E5 X sum dy240- [% l6 H7 |7 |4 t9 E5 g
, o' R+ A& R: L1 x. A0 h1 w
gen yxis=r(max) in 1, F; z0 L$ c, |! p0 z0 ^: ?( u
, g) V' D3 y: K) p* Y6 { gen yxis2=yxis/20 u8 c9 u4 m1 d6 A6 h2 k
/ l' ?6 m7 r) I6 F- E *yxis
9 Z9 o% a; A B* A b- h* J, y2 \
0 i e# |, L' J6 `5 S gen dy240max=r(max)
; o h9 { b E: T# _7 w0 h. e 3 p9 A: m# o3 z, U2 F
gen dy240minp=r(min)5 j2 J% m! v" f: G5 G
4 a7 C" T4 O( ]4 X9 }/ y gen vtt=_n
) g' H) y7 y' M; P) o+ ~; A) U) L6 F5 E* E
tsset vtt
0 s* B& b" o' D; p5 A: m& H# P# S3 H7 X8 M
gen ddy240=D1.dy240/D1.dx2403 ?! j4 w1 R4 G) l7 F; f
+ V, K- {4 E' n7 }/ v) b
sum ddy240
) I5 k$ D, q0 [2 E- c- v- \ * z- S! g, u7 M% U. A
gen ddy240max=r(max)7 K) R I9 ]5 P7 p' a0 w6 c
- Y0 t: S+ m" s5 m! i1 v
gen ddy240min=r(min)! z4 c9 I% C$ @: T. B
8 X$ G: q7 @6 O9 ?8 N
gen ddy240g=ddy240*(dy240max-dy240min)/(ddy240max-ddy240min)
; B) j1 R8 C0 t( z' F1 Y 7 _: ^6 y: F! z3 B
sum ddy240g; l1 m; M6 y6 f& `9 N
7 }8 O: V) J. n$ @& ^; P gen yxis3=r(min) in 1
9 i) m X! B; A$ n $ ?! k: m7 l$ |) S1 x+ ?4 D
gen yxis4=0 in 1( r! D6 V' J' u7 h1 J
* g* `+ v9 u3 C# w
*ddy240g * o3 G1 N% @/ R
; U, r- ]% Q. L4 k+ j7 A 9 e7 n* q% @) W. [2 {8 p
preserve ! P% k4 f7 ^+ j" p$ m' } X
- P1 P; G1 d) {7 V- m" ^6 y sum v5 [aw =avol]3 Y' H5 y9 d# v
' o% }# F. S/ I; C# b. c% u7 O& t( J! X( r keep if dx240<r(mean): H$ Y+ B Y6 W0 w
" @1 p& E7 Z+ |% n sum ddy240# R# _- I; R; L" e* Z( s
, ?. H* R/ }8 L# K- G if r(min)<0 {. U( I) Z1 |& S9 r- v0 m
/ Z& c' H* {) |5 U. u# Y/ z keep if ddy240<=02 @; B" y/ ?4 L( q* o8 \3 P9 \
. f8 V0 D) `9 Z8 @! K# Z, m
count. k. Y. e$ B; A) m" B
2 l. w, `6 `6 J$ y" v- r7 j* s b. o0 o if r(N)>2 {% L) M3 n0 T% z- E5 p- x
: d: \! {6 F T3 b5 ]' ? pkexamine dx240 dy240
3 j. {4 e) Z6 w# R) \* ]7 R
2 d. D5 @; O) Y local tempminp=r(tomc)# ?! j. @! x3 J% U& P
restore " b" V; T: n, @. | L0 m. Q5 {* E9 R
}
" Y# W) J2 S2 ^5 R' }% Q 3 j3 z$ M4 q0 b# U
else {, [1 m% l6 M1 X3 d
) B: J. x7 d4 y
di "cannot find minp"" z4 Q3 K9 x4 g' m3 H
( z& q3 Y4 P1 @3 Y' z f restore ' Z- a( M7 H9 ]6 i
sum dx240
9 c. |6 j: V6 I% m local tempminp=r(mean)
) H2 q) W* }9 B: S6 h8 E
2 J3 i/ {2 s X/ ]9 u& G6 b3 V) Z }: ^/ j3 p$ j V7 B+ r+ O
}
' ~7 ]% R9 l- q! R else {
. Q+ g( v8 P! I7 s 9 L" s# x: ?; I% Q/ X" U
keep if ddy240<=r(min)
5 T8 y4 k7 g6 C) B1 ~$ O4 Z
$ U; I0 m0 L- s- v% d n. ^' q sum dx240
( q/ F2 }; g8 ^& N/ g, L
# K' G# q3 V3 Y$ W6 r- J local tempminp=r(min)6 D6 C% S. H) G* H& I% h+ i* Q \
restore
9 K. `* I& h+ S1 \1 m( d }
7 X% `+ D; f& R$ R) H6 m# u& k1 V( W4 \: m& }
+ {' y4 r$ a7 @0 P7 X' R: \' `' o
gen minp=`tempminp' in 1; T( ^( O' Y. V' x/ d* `" I7 R: [: Q( a+ _
*240 minp/ @5 G1 K4 v5 D% C0 Q
4 n C E* {' t! Z, ~- v+ R" x
2 n, t5 u' C o I8 L ' _, g8 V- R) q* o
preserve
% v4 S- c( }1 q e- b" c 2 Q: ^0 p0 K1 |9 }0 ?
sum v5 [aw =avol]
. V+ D% Z. t- K6 L$ B: S$ _3 X 5 l# a+ D4 [3 h5 V
keep if dx240>r(mean)
$ @( u8 A: u. P; c! C% h1 M/ a4 ]% }
3 x; @+ R% R6 p- M sum ddy240
) k+ }% ~7 b" M5 R9 l
$ R+ i0 w; T8 Y7 j if r(max)>0 {# U9 S) r: Z# R g- w
- p: c1 m |7 z4 H keep if ddy240>=0; {5 G; x8 [+ k: N8 x
# |+ H8 h/ o7 f* `8 Q. F: X count0 c# b8 E7 V. s6 z
1 k- S, `2 {) g; Q1 e! B/ \( D$ ? if r(N)>2 {
D3 a Q* @. O1 ~* u+ Q; l1 c( l
$ a1 I6 `$ r1 J( D1 [ pkexamine dx240 dy2406 F& {3 C; D; d2 M
' Y5 u3 U( [4 |4 s$ V3 N( S/ {
local tempmaxp=r(tomc)
/ T1 ]$ ^7 L: i7 u restore
( l# ^2 i _* ^" h/ l }
9 k) A% N; n# D' }; h
) o, |$ G6 K. V " y& ~$ @5 Z* z+ l! u6 f! i
else {. m% \& P8 E; S$ ~ Z* a. d4 h
restore / C2 k$ r' u- I
di "cannot find maxp"2 e6 f) Z! J! {: j( r3 @; ?
& w* {, w- `% W$ [8 M, k
3 e6 A0 ]- M* r( ?* U T
sum dx240/ r) Q0 H K# N' D' z
local tempmaxp=r(mean): y; e3 b, B8 ^% m, {0 i) H1 A
; R' x; w A* Z, Q# l. v' m& F5 D) K }
/ u8 K; M' A3 s. W " X. |- U* d1 b( q3 M! @
}. T5 y3 Z- ~0 m
% e/ v1 b! N0 m5 S& C8 K9 m else {
9 i/ ?) c- {# W3 V8 Z' ?0 N0 {( b 9 U; {% v' C# n8 K
keep if ddy240>=r(max)! U8 ]! @$ {$ G- b% J Y0 a* \
( h- s3 ^' ~+ d& T7 w. X sum dx240) \, A; ?$ _, B' f5 B( e0 _# G
$ i- F1 i8 S" C+ Y) k' A local tempmaxp=r(max) - K. O9 | W: S
restore ! w: I! b9 a/ w& i( `" ^
}
" O. _: D; l9 f. E1 }& ^ & |8 j9 j/ i6 l& }
/ J4 H: ~+ R# m0 k. _: ~
( g X3 k7 Y4 f
/ [) u1 a3 \: e. g% d% d! J" x! v gen maxp=`tempmaxp' in 1
! Y( W% E: _/ V8 R( _3 c) A) }6 T 1 s M1 c) u' |4 K- R1 a: c
*240maxp
8 t, S- ~5 P. Z+ a# A) T6 a . x0 D/ h, U& c- ~- N$ F
2 R0 z9 {' m7 a8 ?3 @2 t( H- J1 b *-------------ddy240pminp左侧高峰值-----$ ?! w4 `$ s. G, ^; i
# a% s" L: a$ K5 @7 ]2 n I
preserve " H# V& e, P5 Q9 {8 l
4 N+ C, m; {! B+ n/ ~( E" \+ a keep if dx240<`tempminp'
@' C3 S* l) o! x2 D3 A / B% J% R! d. v. s, j
keep if ddy240>0
" E& J9 H5 ~8 I" `, p9 g - u9 B( C. d: p0 A$ Q! E8 j' K
count
{+ I/ l/ `: n) y: Q& N1 L* y & f1 K0 v6 o1 D0 n- G" m( o
if r(N)>2 {7 z3 b; _/ _* e: @3 C5 k
7 J6 P8 v9 Z# D+ U pkexamine dx240 ddy240
5 Z$ K9 O4 ~, C5 _
. i2 D, R3 V" o3 x. A8 c local tempminphddy240=r(tomc)
* Z2 x% E8 |. o6 v% T g+ z restore
0 R- b2 P, \+ g7 F' i( {# V }
+ I0 x- ]6 _; h% b- i. I! ]) P
! t/ E" J- L9 J @ else {3 M- e8 Q2 J; u! j' m
restore
+ l) I, _7 p' L di "cannot find pminphddy240"
5 D `5 `1 B d$ F z8 c( l. ^! a* N- u1 ^- A O) u
9 W! G/ h* D+ K. C; f& A0 G- p
sum dx2405 l) l1 I( E2 J" X' y/ I5 I K
local tempminphddy240=r(mean) / Q) R, V5 r9 o- N, R3 ~% Z" n8 O2 |
4 Q9 x; E! u1 X1 F
/ G1 `7 S- C/ t4 G }" Q" `3 u+ L& _4 t% G! m; O% B
4 i8 m, k9 f% S% w( ~
# y: \% Q+ ~. y6 D5 j D
% M5 g. U2 b9 C/ v 0 y6 c' ^, t% M0 F6 q
7 {2 Q, z( O* v2 g( T* ^& m
! p) ]3 G) O7 f2 c% @" K3 H
gen pminphddy240=`tempminphddy240' in 1
1 E, M- a# g# ^/ |% A: I
! ?( {, _7 z) W% G0 ^
0 U, P2 i: O, t *-------------ddy240pminp右侧低峰值 -----------------" |# W& p4 Q; k
preserve
, W2 Q3 W4 I* M, Z6 Y( l 8 A& X( f# H8 I* s: Q5 d1 N; i
keep if dx240>`tempminp'
1 u9 b! B( D j) P' n9 d1 ?; o
0 B/ j# \, d6 m+ X keep if dx240<`tempmaxp'
. C: L m5 @( M W2 |, K! z
8 B4 L, y5 a* W keep if ddy240<0
. t% s4 ^( I- g, X* I , A9 j3 V* ^- u
gen temddy240=-ddy240
* x$ G6 E& i# P6 x- l& |2 J8 |/ k ! v8 }4 j6 a/ b, S' z3 L
count
$ _5 G1 k* n$ u6 ]" p % k$ V; y7 G9 C* @2 ^
if r(N)>2 {" Z' w2 B( Q' e/ z5 z# [, X
5 Z, H7 a& q( f% C
pkexamine dx240 temddy240% R) u* C( A+ U3 u
0 z1 @& y0 q. R6 g& @4 F; e) w7 N local tempminplddy240=r(tomc)
2 N0 E4 b' `% y! @4 V restore
, @0 K6 B. q ]9 k. o( R1 w) X% \ }, A! `/ k4 H7 n( R
: z. b$ u' L/ }8 T q2 ^
else {1 ?$ O; z D/ P" W% C+ a
8 v2 p* v( T: ~* b9 M) C3 H di "cannot find pminplddy240"6 a- `2 }6 t! f5 {* O" ]0 c
restore
% n$ P/ S2 u$ i. o: ~ 1 Q0 D$ A4 r4 o
sum dx240
! T; \; E. v3 [/ E" S7 I& S local tempminplddy240=r(mean)
1 c0 J+ k6 A X3 q
' ?9 L& {& x% T 3 U. H9 b* {4 Y/ j
}
6 t; Z; }# S' E( Y% q
0 h+ b/ d! M4 v% S" w7 [% ] , u: d2 [' Q# |2 n1 p4 W- L
9 r* D2 K! a0 _2 |
2 C+ i3 ~" z" m# Q
; \7 F8 n! u: u. p( Z gen pminplddy240=`tempminplddy240' in 1
. g* n" z2 V/ M8 E8 _
9 c+ B! m0 P$ [0 F; z) C* L *-------------ddy240pmaxp左侧高峰值 -------------------7 j" @5 K- Y s
* v1 }- ~+ E8 I' J" D! J, p. c5 ^ preserve , o; T7 E. U9 V6 L! {+ t2 |
7 w: c4 o1 J& Z. E X$ T/ _& U keep if dx240>`tempminp'
) _" X$ M: U1 q- \. Z/ u3 f
" F$ r" {4 V7 v0 g5 X keep if dx240<`tempmaxp'* _8 O$ c* g; u- f* T& l9 n
8 ^6 P6 W. @! k1 X( J) Z+ s keep if ddy240>0
8 d+ X. t' r6 o! m) H4 M1 d, n5 R count
% Z6 i( ^0 \ e6 d/ c
6 g2 V3 v0 C# B" Z if r(N)>2 {
0 u n! s# r$ b, B0 X/ D7 w
8 V) v7 A# E; E9 ~- a H pkexamine dx240 ddy240
& ]) H) J, R' x
$ U- n& {* L+ S, `- | local tempmaxphddy240=r(tomc) $ @7 u/ P* `) k2 N5 H% h$ g: O0 s
8 t& u) \* ?7 p- S9 w) x restore P7 A/ s9 E* G% c
}, h) L# p4 |* o( B: l0 L7 ^* e: [
N: R+ X' g+ r* M
else {* |. Q: V% v% W! B. T( j6 ~
. z$ u4 b1 t% L4 {( @) l
di "cannot find pmaxphddy240"( V/ K) f+ A% ^
restore% D+ B% S. b7 C" m7 k4 O
% O8 B4 f2 p" Z/ z$ f, f, \ sum dx240
, ~. S0 U+ v$ P% c. c# T( N local tempmaxphddy240=r(mean) 7 f; A+ \5 k4 R2 D
$ j0 d( }9 a" f% T- i- g
) B- J) y5 x1 T; p& Y, J
}8 r* V! ^4 ~0 d% }6 |) R5 n
( C1 S. |1 M! s
+ J, U W9 ~( I2 I8 G2 u7 ]4 o9 n
) k$ l% W5 p. n7 l: k 8 w2 [6 C$ x; q* m
. _$ `, d, d( g8 Z
$ k2 z- n K2 O$ w) } gen pmaxphddy240=`tempmaxphddy240' in 1
" Z6 ^9 K% i3 _+ W3 U7 V a& R9 O + z: c2 v! Y+ J: k# A0 d
5 Z* c* J1 z2 I
*-------------ddy240pmaxp右侧低峰值 -------------------; U' d S% S) i p; c) f7 Q
; Z8 C" O& z/ y4 }& p* G6 t
preserve " c" I$ M: T* b; {
* M7 b$ S' Z$ Y0 [( U keep if dx240>`tempmaxp'
. v) Z2 z U% ] {# k
! E5 ^+ W! S& I2 J$ |" Y gen temddy240=-ddy240
! @0 k5 ~7 b, V( p' H4 q " ?% |6 t8 M0 d2 ]- p
keep if temddy240>08 L2 I8 `/ I0 }) p
' ]; [7 \9 U& p# a
count; `+ i5 T4 t2 g9 C o+ X! Q
- c; n9 B2 G1 @
if r(N)>2 {* ^; r; k* p4 {* F' B- l. {. M
: ?% m( e' P H+ B" C# }7 y
pkexamine dx240 temddy240
* m4 K7 m/ P# H
5 ?! Y; J( C4 w& Q" ~% B7 _) T& W/ s local tempmaxplddy240=r(tomc) 1 D, m' K6 \% h& _5 f! a# K0 \
restore3 J- ?. u( ]7 g# w& H
}
) \" b, E; Y. ?
$ a$ m; e* p C& o2 N else {
4 N8 ~$ p4 X$ F) L' Z5 ?/ f restore
- @" E; J& m+ d" O+ @! ~3 V di "cannot find pmaxlhddy240"
) v. z8 X2 ~/ }6 o ; L" ]% {/ T: H6 g$ J: I
' i3 [6 o9 a7 M
sum dx240
2 s4 B) H y& W& d7 x g local tempmaxplddy240=r(mean) in 1
5 |- ~0 d3 s& g, O % Q* c* ~2 g& N( a$ i! V
4 i9 \3 U# x7 j( N }' H( m& r, k8 o; D$ Q% Y5 w
( J4 w7 x `4 A' v3 H Z, K8 |8 r; b1 r# [" \% b
' h- X3 F) f& y: D) [
& m6 L0 J& b: G; e# t+ Y' @. J/ f
' G; e2 \" \3 o! |$ j# D) W/ ~
b& I6 h, t7 k$ r; }1 T gen pmaxplddy240=`tempmaxphddy240' in 1$ \% L6 w- c4 C1 r8 s) F' Y' O
) w) S, |1 e. |$ a2 S( j *-------------------------------------
. c$ w* U' l# g& D* M' T/ F
$ a/ K9 j/ a9 Y6 n gen price5d=v5 in 1/20
2 W; Q& R& X; R B3 H+ c 1 M. w; z8 g- W% x1 h
gen price5yy=_n in 1/20
S* E) [, |& t- Y" X+ B
/ @; u; A( c3 E' R) i gen price5y=price5yy*(dy240max-dy240min)/20
' e: I; ~- f$ }2 K( j$ c) M 6 N4 n* `& T) |$ O) X
*price5y &price5d+ I- h/ ]3 i4 H. N q5 q- R
- X5 T: O! ?* q: O: y4 x5 r( s gen priceny=price5y in 1
: G- w* h( {; F: i- ?
0 Z5 j# j. N' N# {8 r# y3 o8 ` gen pricen=v5 in 1: r' J* \( G' n" ^) E8 q
3 T6 s, m3 W3 d/ B' P7 t/ w
4 K. d3 \. Z9 s, j5 ?7 y) y& s/ R) P
*priceny &pricen
; J Y3 b2 d$ U( y0 ^ p2 P
7 Z" y2 K& d; N7 O+ s* x
4 \" O; }; s' x& E% U *-------------------------graph------------------' X5 r: c+ Z8 V8 m {
% V2 A: B% Z! `$ D# Q, _ tw(line dy240 ddy240g dx240)(spike yxis amean,lc(blue))(spike yxis mean240, lc(red))(spike yxis maxp, lp(-) lc(black))(spike yxis minp, lc(black))(scatter yxis2 amean, lc(blue) msymbol(+) mlabel(amean)) (scatter yxis2 mean240,lc(red) msymbol(+) mlabel(mean240) lc(red))(scatter yxis maxp,msymbol(+) mlabel(maxp) lc(black))(scatter yxis minp, msymbol(+) mlabel(minp) lc(black))(scatter yxis4 pminphddy240, msymbol(O) c(l[-]) mlabel(pminphddy240))(scatter yxis3 pminplddy240, msymbol(O) c(l[-]) mlabel(pminplddy240))(scatter yxis4 pmaxphddy240, msymbol(O) c(l[-]) mlabel(pmaxphddy240))(scatter yxis3 pmaxplddy240, msymbol(O) c(l[-]) mlabel(pmaxplddy240))(scatter price5y price5d, msymbol(O) mfc(black) mlc(black) c(l[-])) (scatter priceny pricen, msymbol(O) mfc(red) mlc(red)), title("`f'") xtitle("`1'") ytitle("density") legend(off)- M! j: C1 G2 {( }
0 u7 N- s& S+ S( v* ---------可选项目----------------------
' ^2 q, I1 u1 m1 f- @% T1 O2 K o/ b* D: D
}! X+ R6 S( _+ Z" m( Y/ u1 b( {
end
! i/ r4 J& f* _" D |
|