|
|
改了一下,这次运算应该没啥问题了
% M5 M% ^( U- l
- U* W2 U B; L3 [& `& I- Y$ y' j0 }( f/ \4 l; V5 \
capture program drop hello7 ?- ^ K7 r: X) k. F8 e0 q0 M
Y5 ? D) X! P7 r4 K% g+ z
program hello
- q4 a* B) h+ y6 m/ z n: Q9 `. L, K+ e. f# } Y9 y/ c' S: s2 D
quietly { v7 @4 d4 W2 X- d$ k; S. Q
* n; X' }8 y5 Y9 E+ {* _
clear: l! q7 ]* U" x$ z
3 p3 c" x4 n7 C" D- l, y0 \7 p+ y
cd e:\finance\stock\20110101\source
4 e' d7 ]# w% T2 }6 K) e
! z. A# O3 K; t3 e. ]& binsheet using `1'.txt
, E& M5 Y3 E. b6 X( H! |9 q
2 G+ j& K( V% M+ k7 F, f keep if v5>0
5 j2 @- L6 G/ P6 [+ d : B# R' W4 ?/ E3 j+ b+ H9 W$ n
gen vt=_n
, J; N& `# D3 o( _8 y/ s9 N
- {3 E4 E$ v9 o+ A/ ~. ~ tsset vt- h. \/ e t4 o" S) |
5 t3 [3 S6 r5 k% D gen zf=D1.v5
" N, ^/ J. m1 L% R; u: T
6 k8 q8 k) a, q' f gsort -v1& U7 d( |9 O7 S5 m
; |; M- P( W! @/ s2 ?! c: Y5 X+ ^9 A$ o gen avol=v7/v5
6 r1 ?1 p# W4 D2 i( _$ K: A- y ! \) N% g; T$ d; Q9 @4 j2 ?
keep if avol>0
/ ^+ T2 s# p" Z B. P5 F- l/ N# h
* @0 c4 A# j9 ]9 ` drop vt2 K6 R/ K) ?4 M! ~' o5 [/ L ~* J9 |
# h V- F) I! ~" ]9 X gen vt=_n' [5 F! I/ l, `' P+ S- q
, B9 M2 b. R! O7 K- t tsset vt
1 ]0 |3 f$ k% j( s, Q
; |4 h% ] Z0 r9 k6 N sum v5 [aw =avol]2 w4 O" J, `- o \, F
' h! ~* i5 ^" M gen amean=r(mean) in 1, Q) m& M9 M+ f
7 U7 z' {" }+ k: y* z7 J * 总加权平均值 amean- D z; J' H/ ]' `. g0 j9 ]
. ^* H' ~: e f' h9 G
& a6 ^# b+ Y- X! s4 y& C
keep in 1/2409 o7 V" [0 _, ]( M2 J; y% l" P5 A
3 C7 a& L" {. v0 u: L; l sum v5 [aw =avol], ?( j7 I4 S2 U% T$ ~( ~" q
( c3 N2 h) E$ `% O
gen mean240=r(mean) in 1
6 A" X m9 r0 {8 M" z
( o4 \, g! b' w1 N *240加权平均值 mean240
1 s* p8 T6 U# u 4 B0 s, O! l7 b) n
set obs 500
; G) K# L+ v# @- L0 k( K4 A% G6 e
: U: }7 g- b2 [2 P kdensity v5 [aw =avol],gaussian n(500) generate(dx240 dy240) nograph4 A4 F# v8 r( T% U. T5 {' S
* ]1 W! K9 ]! t *240 kdensity(dx240 dy240)" W( h S, i% H+ i2 I
4 U- v5 S. D& ^% E; d
sum dy240
; Q3 g* B. E- c; y/ l- }4 M( A: n ) i! }; R+ R; ?' I3 O& R
gen yxis=r(max) in 17 l- Y8 ?. T# X
2 F9 ?! {: r7 W* v7 h; t) H gen yxis2=yxis/2
' L9 |( }5 k0 M. C' Y+ o 9 {/ @# e) s& k3 h( }: v
*yxis
: h# p- F- E3 L7 x3 w( h$ b: K6 q
. ~4 ^* } R2 @$ q8 } gen dy240max=r(max)
. r( ?( o0 ]5 a- ^& H' L0 S. c _
5 D2 }" M: v* L" Q gen dy240minp=r(min)
3 P9 v. S$ s- {4 K / \5 r9 p5 e0 B# y2 a8 S3 h' y
gen vtt=_n) h" E; ^" N1 l
: m, I6 u- j6 i9 B2 x. H( n
tsset vtt
/ w1 H2 M* b( u2 @% |, M9 Q( B/ h; S# b; M3 L1 ?$ @' z, R
gen ddy240=D1.dy240/D1.dx240 ?9 y- p. N/ Y
8 `, G, C& I, o+ @ sum ddy240& D+ y7 h6 b; F' }5 K3 S3 x
0 o( l5 f6 d2 y: \1 J: ] gen ddy240max=r(max)9 S# G& J; t+ p: e* k i6 M
- _9 ]. i/ q+ n. _! R# {! ~% v( ]
gen ddy240min=r(min)
3 n" B6 X9 h" |/ F& `7 c * O1 N, D3 @$ M3 g
gen ddy240g=ddy240*(dy240max-dy240min)/(ddy240max-ddy240min)
/ Y) M4 j7 U" i9 p0 X, u4 d
# T( _& A' O; j; Q6 C/ Y sum ddy240g5 Q2 ?4 ^: ~% O. X4 ?( z. V* T
; L: Q9 P, A1 l3 t; o gen yxis3=r(min) in 1" k! n- \- _8 f" e3 b
" S5 e' K: z) F3 ]7 _) s% B) n" I
gen yxis4=0 in 1" I3 k: Y/ B, {( \! q
9 W' Y& j7 ?( U7 I" {, G+ t G
*ddy240g
9 R0 d+ J% l5 k+ E% q$ [% q+ h' Q & S7 C$ l+ U1 @
: P) t) Z, }1 {9 A; o0 Z$ s preserve
1 A5 K( V4 ~' e* Q( Y5 l ' r/ \" i% b- i% w
sum v5 [aw =avol]
, ]/ o, q7 A/ C% c: h
0 P" J& F7 @' f$ t keep if dx240<r(mean)& e5 R; \5 |0 }1 N$ w/ r/ a
6 I5 i# c" k0 G4 g8 x
sum ddy240* Y: m7 ^& Z/ ^# R* `* P7 [/ w8 [; ?! B
j0 d0 j! e* ^8 L) R/ F- L
if r(min)<0 {
2 c( F, h" ?3 r
7 J7 I' t3 a3 \' p0 a+ p keep if ddy240<=0
$ u' n: o# J; P2 C7 M/ j) R # W2 H. \# U, u6 Y$ X. k. R* O" c# d1 I
count5 l6 {( L( V7 }3 m8 h9 j
$ a9 S+ g3 d9 W/ {
if r(N)>2 {
, z' y* F5 Q5 R6 Q/ D , l+ T/ ~, V9 ~% ?4 } |
pkexamine dx240 dy240
& i0 p- w4 l% D
) b, Q' G- o: E# e6 n( _ local tempminp=r(tomc)! D- l0 ?& ^* ^ _2 [' A x
restore ' u9 a! p1 q4 o
}
8 V6 V) b- S. \5 L' q; |& U6 p ' A" G+ s/ D8 b2 V
else {1 F* o& ]1 b6 _# z8 i0 G
/ ^' h$ i W1 o( }1 s
di "cannot find minp"
! q9 l7 z* w3 v; n, m ' u, O4 G% `0 |0 S, k8 L
restore
) a1 P- R) j9 a sum dx240
8 L" ^( P4 J0 D, a local tempminp=r(mean)7 I8 e' r8 V- g' D
8 P+ R( J1 x5 h1 S/ ?: Q( b }6 o+ l" j5 {* A8 }' \) k6 h
}( s* @" e: w; N; W* W
else {
- I4 y2 n- w4 g6 @, }1 I r6 `; z$ w; j$ z9 Y
keep if ddy240<=r(min)
$ `& A/ `9 V& ^) K
4 P+ S& K- l$ j' S5 G; j+ E2 ? sum dx240$ O8 W" P: ?# [" k- |8 Z2 k
& W5 }2 z. o- E9 O, K2 p5 q
local tempminp=r(min)
1 z, j% M$ O+ B- i restore
! A: c3 K- J7 u1 Z) L6 n" } }: R5 |6 A2 O. L' Q' f
0 Z8 i# f H3 i: D: x* R( J+ }. J) }, R9 k# x
- L- X; F& L/ X8 p1 x, X7 H0 [ gen minp=`tempminp' in 1
- V2 B+ }, r, W. ~% [3 F6 n *240 minp
$ J' ~/ E, U3 d( `4 Q7 x0 h- R+ K. n4 l6 T) f' s, U
: |1 |1 A: V1 R; t4 c- Z0 j4 A
8 B- a. \5 h) I" Q3 G: d0 O) _ preserve
2 R0 J1 P1 X/ o" L! Q4 J( y8 n0 f' D ; ^9 ~ Q9 r$ O' v4 [6 q
sum v5 [aw =avol]
& e: c+ ^" I* q9 ` & ?: l! J3 p8 \
keep if dx240>r(mean)
0 Q9 `8 O' O ^ U4 M0 U5 q6 N2 l8 ?% |) ^
sum ddy240
B$ x& ]7 b$ R5 p) q ( v4 c% N! O! E
if r(max)>0 {. |' t4 \5 H$ u* j
& S/ r* ], ~4 C2 C- g) i' l& y( O5 n% x
keep if ddy240>=0: Y# Z, c6 H9 l1 L( ]' R
0 g( Z* M9 k/ [# g& Z3 Y
count
: p! [6 i" V& V9 S) J9 j
* w5 V" F( y; _! w: V if r(N)>2 {+ I" L/ N, O+ B2 v
% G; b2 Z( ~: ]2 j5 k
pkexamine dx240 dy240! ~- d8 E- C7 [
8 f' p+ v, L0 w. ~* g8 Z2 ~6 n1 ?
local tempmaxp=r(tomc)
6 A! C, p0 q/ Q: R2 b: d restore
3 n- |: y, N Y! p5 ` i$ T/ Q }
) f; B6 B0 r2 G3 t# B3 L! D' j0 q % s% P6 i* t, A( a% }. }
3 N- l7 x' H' f# J Y$ p( y/ b
else {6 _* h7 V+ O" o0 x' {8 B+ j
restore
) w3 O3 ]0 G7 `( |% t di "cannot find maxp"; p( I5 F3 q( r* I0 H" k, y8 D, x
. V4 f8 |+ I& U ' S- G! k) D3 y0 a& e
sum dx240& K- X( d( m: v
local tempmaxp=r(mean) u" p+ j! ?/ e. W+ U# T
& k( |7 U6 r( D9 U! u9 r& `8 r1 R
}
- V2 J8 G. _5 K, V0 W4 _7 Y
1 ^; M; q y# w) X4 A8 D$ k" E. [ }) K2 F6 Y5 {) V9 T# G+ @
5 |0 G1 {3 ]4 i0 N9 i$ \! O4 e0 Q else {$ ~" _! k% P( o* \( W7 ?
6 I& v. z) a U* a; T- @) ~6 ] keep if ddy240>=r(max)5 s3 N5 f% ` N1 `8 q
% Q1 \: h8 o1 ` sum dx240
5 m8 U3 Q2 y4 [2 ]. C8 g / ^. @1 Z3 @( M4 |; V6 ^
local tempmaxp=r(max) # N4 k% Y9 K1 I9 K
restore 1 z2 ~! b7 k9 B7 ^5 w
}' `3 W4 S$ e- M9 u$ M u
# ~5 [; \* K: `
! R$ Y; }+ _7 ~# F [% S
' x/ i: I+ M1 V& a7 Y
; [- E1 t! C/ ^* g3 Z; H2 I gen maxp=`tempmaxp' in 1
4 x6 p% Q# d: i4 {2 I% s , U8 R5 i* W: E z0 ^3 J8 q+ M
*240maxp, Z2 S( d5 q; P% M0 ^: \; H
9 c' q, M2 h8 Y1 _ l9 O9 r6 \
( Y, @, H0 G5 g' L6 [' R *-------------ddy240pminp左侧高峰值-----
8 g0 x% ?& J. H& U1 p
% A" a2 x5 ?* L9 M# H6 N# z/ d preserve
$ ], x& r0 n* r4 t, b$ v6 t6 `5 n 4 \, J* G( f' k
keep if dx240<`tempminp'
* R W+ I3 b; D( ^+ o1 c! h
* h: h1 F4 W( }1 j) R. q keep if ddy240>0
8 i& o( f* B+ d( R8 |1 ?- t6 j
9 L4 t. c. ]- Z+ k0 L3 s1 g+ y count
1 [. N$ _3 u% a1 Y& h/ ~. Q
# y2 G" Q, h; n, l! B8 T/ r if r(N)>2 {
2 [4 k5 t9 Z- C
- H0 A0 G) f4 u/ {2 P+ a pkexamine dx240 ddy2401 s9 i5 a9 C! F5 _( C
, {1 U& U0 P! `- q) j* N local tempminphddy240=r(tomc) + g$ F6 Z# V0 B9 }
restore+ E- X. L2 \5 V- O
}3 g5 o4 y4 J% p6 X6 {: |; r
7 |1 b1 l* k& a% ^4 B6 y
else {- v4 W* M: Z" |$ V9 _3 b
restore & @ q$ s( S2 ]4 h0 U. z) F1 b
di "cannot find pminphddy240"
4 B4 M. R- ?. { e4 C6 c/ ^+ [1 g4 W % M. `) B# H8 ~: k, }8 V
% O# [" ^& ~# [- T, J sum dx240& z2 F' U7 X- f' M; O, j q& ^
local tempminphddy240=r(mean)
" {5 b1 R. c; U3 ]. X
$ j! R g" f% U3 }& T; Q
; ]: ^* Z9 Q" t0 }# M& T% o }
+ u% i% q: _. ]% x
# Q/ N* Q; z9 j2 a9 b: ^
4 k8 r" t9 c) y
$ E0 R, g- R/ `; c, D 4 f! ^6 `, r5 e$ k1 p# R. R" ~
( a) E+ P6 Y- L; t
" W. n1 ^: @5 j4 l8 Q1 I gen pminphddy240=`tempminphddy240' in 1) G6 }0 c$ m0 C8 j4 W
^9 a, ]. t0 b5 D7 U/ v
5 [# [" J1 o) u/ c# e *-------------ddy240pminp右侧低峰值 -----------------& v$ f9 j9 Y/ w, B0 U6 D. B( g
preserve ) r n) m: {: j
, j" b; ? P6 h
keep if dx240>`tempminp'+ M$ z- {- o; Z$ h) M! o" }
7 _* @& {1 n- |. x4 p ^
keep if dx240<`tempmaxp'% u1 L: P) S' J- H
. l B( E9 N" s: a3 Z
keep if ddy240<0
4 | C1 r& j" e2 X# m/ u$ O" o- ~ / z: u' K1 D0 n/ Q
gen temddy240=-ddy240: j& z' w0 e2 S1 O1 P
: p7 e) T5 q) f" H- L# K5 F count
" |; q" N) ? J6 o, j4 E% v
1 c% O+ o" u' ~ if r(N)>2 {
6 H5 }4 P& t5 A3 F6 @. |1 H
( `$ E% _9 r( @& p9 A. | pkexamine dx240 temddy240
7 C3 A5 n5 [0 |9 J2 p8 f* e
! O# \. q" o' O' w$ c local tempminplddy240=r(tomc)
! Z, f7 Q! X A0 W1 h restore
9 b0 W' q) ^: n& A9 T" {# ` }
; M0 i' W. B, U7 c, s- _8 e3 H c. }- P% Q7 T8 h3 ^
else {
# g( H7 ^; I0 p2 f; P. R , O+ \; T! F9 R* u
di "cannot find pminplddy240"
" {. O4 T2 e2 A, ] restore
1 f9 Y1 b$ ?& v& f
& s7 N' P h9 a% t) o8 s sum dx240$ s& `1 t0 ]& i* U, D9 l
local tempminplddy240=r(mean)& Y6 ^0 \* q( `: ?, g
2 Z, \, Q1 m# K _
$ a. e3 j. ]/ s7 [
}
' c* g6 L1 Y2 ~8 E$ [ + [ C& N3 i A( e
; h5 X& |! u5 [6 q
" @" ^- d4 \4 G& [( L8 j
/ c$ U x B3 u$ h" p6 j2 y * K+ R: J. j' I$ [
gen pminplddy240=`tempminplddy240' in 1) u, |" p& E( c' h) p
; M1 F7 H# p; _( n9 d5 _# \, L, c
*-------------ddy240pmaxp左侧高峰值 -------------------
B5 v% z# ?% M! X& l s ! M# d' m/ ]$ L! t8 ]( _- K( `# l
preserve
$ B% t; `7 V4 n" n1 ?5 ^ 7 L) I" H2 i: G: w* n6 [/ ]
keep if dx240>`tempminp'
# E- ~3 E O( e8 K4 e3 Q. q, w 7 I; K/ b+ j+ e1 U. R4 f6 U
keep if dx240<`tempmaxp'6 B K- d) a' _
1 Z8 n. s! y' C- W' h! K8 f keep if ddy240>0
2 n* l" K& s' T! v) r count
7 g& L& g, A8 `1 n: [1 ]6 p1 [6 ~ % i3 }) [) o$ r& g1 e5 {
if r(N)>2 {
2 u/ X6 z, F, z/ r9 Z+ Y+ q # y- W& R/ e( i+ k
pkexamine dx240 ddy240
2 i9 _# {" r7 e 5 \. w" R6 c3 i
local tempmaxphddy240=r(tomc)
, L5 c/ e0 V! J3 M6 U9 n4 f; `5 h # |1 s& Y+ T* E, ]% p& H
restore) f' N& H5 s. E, x; b3 X
}6 ?$ D3 Q" z, d) b* l
1 d: _1 ]5 b$ r* ?7 T3 d7 V
else {
" r. d* {& ^! @4 n5 E8 Q , k7 |3 h: }0 M8 X7 m, _, q" i/ n& t
di "cannot find pmaxphddy240"/ [. k+ I8 |% k* C; P5 F4 V. l- ~
restore
# {& p( X. v, t) {0 W( ]- U . D8 e1 k/ r& \* [3 S, T/ K9 S! }& B' y
sum dx240& t% M$ M8 u" J& Y( v: o. e
local tempmaxphddy240=r(mean) 2 A* V& E" J% M
/ c" {5 t2 H- z- ^; b, C _' ^& S: T7 ~! {1 |+ f/ G; d
}9 u, f# L/ F/ o
. h5 ]5 l/ S2 j
( U8 i1 p h' W : D3 H' O$ z/ E7 n
' o3 F3 j7 \$ P+ g3 V ' E8 I+ @, ^! v4 @# _% H$ ^! I+ m
^! u. c/ Y7 ^, O gen pmaxphddy240=`tempmaxphddy240' in 1, h% {2 g( W# u7 }" B
5 g0 j8 c, P: l; o H$ }
" I& [6 c1 w- y2 A( Y+ Y6 J N *-------------ddy240pmaxp右侧低峰值 -------------------8 x- H" P$ W. U% |# Y, y+ j
5 j6 U" o0 s3 b3 ~. {
preserve
+ ]/ l! @2 i* b. _) F/ O
) n0 t1 n6 p3 A( p# r keep if dx240>`tempmaxp'4 s1 D8 L; o2 r1 s& K
! A" F4 n' C2 y0 H8 i
gen temddy240=-ddy240/ h: B9 k7 e( g& r
7 n `9 u# m& v
keep if temddy240>0
* F* G4 \* u5 P( N! Q, o 7 \4 q) I8 b% D1 C
count) R# g! A! o5 Y" q# d4 i
1 }1 v; F9 E J; `9 e( @
if r(N)>2 {
0 Z8 O1 B8 Y3 ~+ [6 U; Z9 A0 h ) H6 e; t. }1 w, M! u
pkexamine dx240 temddy240- m' ?; Z- J. \+ S+ p/ L0 X
$ |$ @/ @ x5 P! q6 _8 A8 _
local tempmaxplddy240=r(tomc) # I* b8 V$ k, D4 r& e% S- v8 w
restore
) |/ i9 ~- [1 c) N4 k; R4 s }) p; y4 ?' R- }
2 ?) m0 e$ n X! U else {9 \' N9 h9 N/ A8 U( ?
restore
- G8 ^3 c' N/ C$ S7 p2 H di "cannot find pmaxlhddy240"
, S6 N2 T% U" G9 }
; G) k! J( z8 m6 ?
6 a: b) H( a4 s9 ]" U. J! i sum dx240
0 ?4 \1 h9 _# n* h local tempmaxplddy240=r(mean) in 1- t. y0 _" @0 y% m) U# ?
" I( y& t# F: V1 a) ?+ P
6 q f' W& }1 d4 c3 r
}& @' E0 w, C: P$ U# Z) X- c2 A. K8 }
k# _ y* J7 W( O9 m0 N $ [( g8 v& @7 y b
; G( O2 ^+ x! W0 j
! {8 J6 O2 Z# r. ~) t( h 7 r1 i' S3 U1 t$ q" V" x
0 H" ~: M1 f8 }
gen pmaxplddy240=`tempmaxphddy240' in 18 G6 B. O9 k7 i4 t
4 ]% u, o6 b; q& A- {, l
*-------------------------------------4 b4 F- _1 J6 P5 j
8 m# f# |5 G5 M, v. q' l7 ?8 M
gen price5d=v5 in 1/209 L J, U8 b+ I
- `+ o! m' q- W# @6 ~5 H0 m
gen price5yy=_n in 1/20
* F2 `3 c$ _5 J
. t r, |6 X5 M% ~; ]; a# | Y gen price5y=price5yy*(dy240max-dy240min)/20
: [- n0 C, f0 M9 o, Q
0 |% @, x$ ]' t6 @ *price5y &price5d
! G0 W/ A: C' B& q# t* C" k
; P% E, h) } C0 e) h9 Z- K gen priceny=price5y in 1
4 t1 R4 D5 s% p6 t, s
8 L* x& E* M0 f3 H gen pricen=v5 in 1- B6 K; Z4 R; d: @) _* V
# d7 U" o( T0 C
* ^1 y! }/ k v: @/ d0 x *priceny &pricen
: }0 w/ \! _9 l9 t 4 C/ L+ q# D' R# X3 E" J6 F$ ~
5 m- E9 V9 L3 ]6 F- K' Z
*-------------------------graph------------------
4 ~8 m5 p+ t" U! T c / |9 m3 b; B9 z( K: @: K/ }
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, U7 v. {( ]; f* n8 }
9 ^: p; k( Y9 X' K; u3 G3 J* ---------可选项目----------------------
. K( [' ~; r. B! p( p
- N+ L. U. d7 [) s6 \3 n}
" W+ ~, I b ?- x- qend
! i, I* K' V1 U" `, P* n5 e" z; q8 F |
|